我的10个开发原则

基于深度学习YOLOv8的花卉检测与识别系统(附完整资源+PySide6界面+训练代码) 通过本项目,我们成功实现了基于YOLOv8的花卉检测与识别系统,涵盖了数据预处理、模型训练、推理与实时检测、以及GUI界面的实现。YOLOv8在花卉检测中的高效性和准确性为实际应用提供了强有力的支持。 阅读详情
在从事软件开发若干年之后,我已经对“软件应该如何设计”有些心得。实际上,我有了这样一个结论:所有的事情最后都浓缩成10个原则,如果我们很好地执行这些原则,任何软件开发都应该会取得成功。

   0. 客户至上

  “如果我们没有关注客户……其他人将会取代我们。”

  从客户的角度出发,客户首先会把焦点集中在产品开发的真正价值,其他方面(例如概念、需求、技术等等)在项目中是次要的。

  不关注客户,就是 程序员常犯的5个非技术性错误的其中之一。

   1. 代码质量
  
  即使代码质量是一些非常主观性的东西,(甚至有人说所有的代码都有问题),它却影响着很多重要的方面,比如:如何去维护应用程序,或者如何去带一个新手程序员。

  在我看来,代码质量的指标在于:简单性、可读性、健壮性和可测试性。其他特性,例如外观或者可扩展性,如果没有要求的话,在你的应用程序中可以灵活设计。

   2. 授权

  软件开发过程中最重要的资源是人力,而非技术。人力决定产品的好坏,但他们需要得到授权。

  授权是一个鼓励开发者积极做事和制定决策的过程。一些高效的机构的授权体现为:指导\配合或者委派。 不知你是否也有过和Derek相同的经历,每隔5分钟就有员工跑过来向他请示这个和那个问题?如果有,可以通过《 管理者的困境:放权或者崩溃》这篇文章看看Derek如何解决这个问题的。

   3. 持续集成

  从我的经验看来,集成是软件开发的主要问题。在项目后期或者大型功能模块完成后,等着集成是一个令人纠结的过程。

  持续的集成是保证每部分委托的代码在系统中自动集成的过程。请记住,持续集成优先于持续编译。

  Martin Fowler的 这篇文章是网上关于持续集成的最优秀的参考文献之一。

   4. 迭代

  迭代提供了持续的反馈信息。持续反馈很重要,因为它降低了软件开发的不稳定性。

  虽然迭代经常与敏捷方法有关系,不过有其他方法例如RUP,也使用迭代,他们却不是敏捷方法家族中的一员,记住这一点很重要。

   5. 自动化测试

  允许重构和递归,给开发者带来自信,如果得到有效贯彻的话,会提高最终产品的正确性。对于自动化测试,你可以考虑与测试有关的一些情况和如何编写一个良好测试组件的建议。

   6. 重构

  不管你如何关注编码,在你迈出第一步的时候,你将会走错路。重构是我们用来保持代码修改的做法,以满足系统说明的必要更迭。

   7. 非正式架构

  前期的大型设计,除非你是NASA,能够把项目50-60%的时间花在这上面,否则这完全是浪费,毫无准备去编码情形也一样。非正式架构是一种折衷解决方案,它在项目发展的基础上进行讨论,并存留于文件,留言板或者类似的物件之中。

   8. 沟通

  软件开发只与沟通有关。客户向软件开发团队阐述他想要达到的目标,以便于软件开发团队能通过编码形式向计算机解释。

   9. 避免浪费

  浪费是软件开发过程的主要生产力杀手之一。毫无必要的会议、毫无必要的要求、毫无必要的过程和毫无必要的文件成为最常见和最危险的浪费。
华为od统一考试B卷【单词搜索】C++ 实现 找到它是一个小游戏,你需要在一个矩阵中找到给定的单词。假设给定单词 HELLOWORD,在矩阵中只要能找到 H->E->L->L->O->W->O->R->L->D连成的单词,就算通过。意区分英文字母大小写,并且您只能上下左右行走,不能走回头路。 阅读详情

相关推荐

10位顶级PHP大师的开发原则

发现我电脑上保留的,不要资源分,给大家分享

EOS5开发的方法论

这是一个介绍EOS5开发的方法论。感觉还行吧。

基于springboot的商城后台管理系统(源码+数据库)80

基于springboot的商城后台管理系统:前端 jsp、jquery、layui,后端 maven、springmvc、spring、mybatis,集成商城前台和后台系统,商品发布,财务管理,公告管理,商品浏览,购物车,结算等功能于一体的系统。## 功能介绍### 用户- 基本功能:登录、注册、退出、个人信息查看和修改,密码修改- 商城首页:导航栏,分类导航,轮播图,商品列表展示- 商品购买:商品详情,加入购物车,购物车页面,结算- 我的订单:订单列表查看- 我的评论:查看自己发出去的评论信息,删除评论### 管理员- 系统设置:用户管理的增删改查,角色管理的增删改查,菜单管理的增删改查- 日志管理:日志信息的查看,导出- 公告管理:公告信息的增删改查,关键词搜索- 类型管理:类型管理的增删改查- 日月销售额:可以按日和月统计查看销售额情况- 评论管理:评论列表查询,评论信息删除,关键词查询- 商品管理:商品信息的增删改查,商品图片上传,内容富文本编辑- 订单管理:订单列表,根据订单号搜索,订单详情,订单删除- 采购管理:采购列表查询,进货操作- 锁屏:一键锁屏,输入密码解锁屏幕### 商家- 公告管理:公告列表查询,公告详情- 日月销售额:可以按日和月统计查看销售额情况- 评论管理:评论列表查询,评论信息删除,关键词查询- 商品管理:商品信息的增删改查,商品图片上传,内容富文本编辑- 订单管理:订单列表,根据订单号搜索,订单详情,订单删除- 采购管理:采购列表查询,进货操作

简述七大开发原则

设计模式的七大原则 1. 单一职责原则 概念:一个类只负责一个职责。 若一个类负责两个职责,当其中一个职责变更时,可能造成另一各职责执行错误(比如,在dao中,若是又对user表进行CRUD,并且同时又对order表进行CRUD,可能造成数据错误)。 优点: 2. 接口隔离原则 概念:客户端不应该依赖他不需要的接口。 也就是说一个类对另一个类的依赖应该建立在最小接口上。 减少依赖,通过接口隔离...

raojiaxing_的博客 2047

开发十大原则

    这十条开发指导原则,最基本的思想是 “高效,高质量的写出满足业务功能目标的代码。”每人可以结合当前项目的实际情况应用,可以补充,修订删改进一步总结提炼。     1.先开发简单明确的功能模块,后开发复杂的功能模块。     2.先做简单的子功能,再做稍微复杂的子功能,后开发有难度逻辑复杂的子功能。     3.以满足业务功能要求为主要目标,不保留无用的垃圾代码。写出高质量满足功能要求的代码,是建立在对业务需求理解,明确业务目标,逻辑思路清晰的结果。有时往往需要反复多次修改精益求精才能最后实现客

boyone2009的专栏 1176

开发原则

1、模块原则:尽量使用简洁的接口套和简单的组件。2、清晰原则:清晰胜于取巧。3、组合原则:设计时,要考虑连接组合。4、分离原则:策略同机制分离,接口同引擎分离。5、简洁原则:设计尽可能简洁,复杂度能低则低。6、吝啬原则:除非别无他法,否则,不要去编写庞大的程序。7、透明原则:设计要透明可见,以便审查和调试。8、健壮原则:健壮的程序源于透明与简洁。9、表示(法)原则:把知识叠入数据,以求逻辑结构质朴...

weixin_34256074的博客 476

10开发原则,助你提升编码技能(让你爱上重构!)

让我们面对现实吧:写代码很容易。但写代码?嗯,这是个真正的挑战。无论你是经验丰富的开发者还是刚入门的新手,总有改进自己技艺的空间。想象一下,写出的代码不仅能运行,还干净、可维护,甚至**——敢说吗——有趣地重新审阅**。听起来太美好了吗?继续读下去,因为今天,我将分享,它们将把你从一个程序员变成代码工匠(或女工匠!别担心,我会加入一些幽默让内容轻松些。毕竟,编码应该是愉快的,对吧?

qq_28791753的博客 1864

[观点]我的10开发原则

[观点]我的10开发原则 2011-08-15 10:17 | 2832次阅读 | 来源:webarya.wordpress.com 【已有3条评论】发表评论 关键词:开发者 | 作者:Alberto Gutierrez | 收藏这篇资讯 导读:本文译自意大利资深

SevenColorFish的专栏 935

10个对开发者非常有用的设计原则

转自:http://www.codeceo.com/article/10-tips-for-designer.html 要点:我会尽力解释Jakob Nielsen的10设计启发式算法。我会用例子告诉你,作为一名开发人员,如何使你的产品以及你产品背后的代码更加有用。 为什么我要在乎这些? 开发者也是设计师,他们只是使用不同的媒介。因此,你知道如何设计系统也是你的最终产

shellching的专栏 675

android app开发UI的10dp原则

本文仅供搜索。

饭松闹钟app,从现在开始放松 124

软件开发10原则

    个人体会,欢迎随意转载和使用,版权不究:)    1、一定要有开发规范。    国内小软件公司,往往是程序员每个人自己一套规范,一个系统中,编码规则、命名规则经常是五花八门,任何软件公司都应该有一套标准的开发规范。    2、减少重复。     软件的一个作用就是用来处理重复性质的工作的,所以,如果工作中遇到重复性质的工作,就要考虑用软件来实现。    3、不要重复

boiney的专栏 536

《 硬件创业:从产品创意到成熟企业的成功路线图》——第2章 创意评估与社区参与 2.1 硬件伙伴...

本节书摘来自华章出版社《硬件创业:从产品创意到成熟企业的成功路线图》一书中的第2章,第2.1节,作者:Renee DiResta, Brady Forrest, Ryan Vinyard 著 钟佳丽 张智腾 江涛 译,更多章节内容可以访问云栖社区“华章计算机”公众号查看。 第2章 创意评估与社区参与 要写好一本硬件创业的书,并不是一件简单的事情。其中最大...

weixin_34277853的博客 516

开发原则:快和稳

公司要求开发要快,而自己还要要求稳。其他的重构啦、规范啦都先不重要

liu_yun_long的博客 317

精益创业的五项原则

五项原则如下: 1.创业者无处不在。你不一定非要在车库里折腾才算是创业。在我定义的创业企业中工作的任何人,都算得上是创业者。所谓的新创企业就是在充满不确定性的情况下,以开发产品和新服务为目的而设立的个人机构。这意味着创业者无处不在,而且精益创业的方法可以运用到各行各业,在任何规模的公司,甚至是庞大的企业中。  2.创业即管理。新创企业不仅代表了一种产品(的问世),更是一种机构

lz0426001的专栏 6410

项目组开发原则

 请大家有什么想法进一步完善.项目组管理原则项目管理操作注意事项需求不可直接从用户到程序员设计不可直接让新人去做,设计必须要由组长统一去做,以便考虑周全一些。 项目组开发管理原则注重目标管理:目标是从下到上的过程,同时有一定可操作性和挑战性。a.     让下面的人去想,他是否可以做的更好点,是否能提前一点,这样才能有挑战性。b.     让下面的人自已去理

hellopro的专栏 1269

开发中三个经典的原则

      开发中三个经典的原则   单一职责:一个类,一个方法专注做一件事情。不要混合多个目标。     比如我的"绑定手机接口",目标的确是干一件事情:绑定但是里面还是要判断:这个手机号是不是被占用,还要判断绑定历史,判断手机白名单只不过把判断绑定历史,判断白名单,封装成单独的方法来调用。 把判断绑定历史,判断白名单,封装成单独的方法这样就是单一职责。以后其他地方需要用到,...

weixin_33849215的博客 182
上一篇: 管理者的困境:放权或者崩溃
下一篇: 职业规划与职业选择
Qicz
博客等级 码龄15年 56粉丝 122原创
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值