2018-07-02 软件开发的核心原则

Don't Repeat Yourself

这是软件开发的一个基础原则,即不要做重复性劳动,也是现在所说的“极客文化”的一种。代码重复、工作重复在软件开发过程中都是不合理的存在,利用各种手段消除这些重复是软件开发的一个核心工作准则

如果软件行业比作建筑行业的话,那么建筑行业里有工程师,建造师、监理、设计师、泥瓦匠等等。而重复性工作就相当于泥瓦匠!只是重复的在砌砖。

Keep it simple stupid

即KISS原则。在做软件设计的工作中,很多时候都不要想得过于复杂,也不要过度设计和过早设计,用最简单且最行之有效的方案也就避免了复杂方案带来的各种额外成本。这样既有利于后续的维护,也有利于进一步的扩展。

软件开发行业基本都知道要避免过度设计,但是如何拿捏尺度是一个很大问题。经验少点的开发可能会出现设计过于简单导致开发流程的问题或者设计过于复杂导致项目过大难度较高,所以着也是区分开发者能力的一项重要指标。
附:https://www.zhihu.com/question/19993179知乎大佬们对过度设计的讨论QAQ

You Ain't Gonna Need It

即 YAGNI原则。只需要将应用程序必须的功能包含进来,而不要试图添加任何其他你认为可能需要的功能。因为在一个软件中,往往80%的请求都花在20%的功能上

Done is better than perfect

在面对一个开发任务时,最佳的思路应该是先把东西坐出来。再去优化迭代。如果一开始就面面俱到,考虑到各种细节,那么很容易钻牛角尖而延误项目进度

Choose the most suitable things

这是在做方案选择,技术选型时的一个很重要的原则。在面对许多技术方案,开源实现的时候,务必做到不能盲目求新,要选择最合适的而不是吹得天花乱坠的。

这三个原则感觉其实就是为了解决过度设计的问题。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 177,731评论 25 709
  • 关于Mongodb的全面总结 MongoDB的内部构造《MongoDB The Definitive Guide》...
    中v中阅读 32,241评论 2 89
  • 大北减肥减的很饿,太难受了,大北想着以后再也不肆无忌惮的吃了,也不肆无忌惮的熬夜了,不肆无忌惮的满足欲望了,肆无忌...
    彩虹之约阅读 238评论 0 1
  • 宝贝说明天回来了,好几天不见还是有点想他了,还有五天就是妈妈的生日了,好快啊,不知道给她送什么礼物好,从我十八岁出...
    志梅阅读 181评论 0 0
  • 加入组织较晚,一直在上课状态,践行倦怠。重新加入组织后开始践行of 计划一件件落实,落下的课一个一个补补回来。是赶...
    宝兰儿阅读 190评论 1 2

友情链接更多精彩内容