`

软件编程21法则

阅读更多

 

任何一个有经验的程序员都知道,软件开发遵循着一些不成文的法则。然而,如果你不遵循这些法则也并不意味着会受到惩罚;相反,有时你还会获得意外的好处。下面的就是软件编程中的21条法则:

 

  1. 任何程序一旦部署即显陈旧。
  2. 修改需求规范来适应程序比反过来做更容易。
  3. 一个程序如果很有用,那它注定要被改掉。
  4. 一个程序如果没用,那它一定会有很好的文档。
  5. 任何程序里都仅仅只有10%的代码会被执行到。
  6. 软件会一直膨胀到耗尽所有资源为止。
  7. 任何一个有点价值的程序里都会有至少一个bug。
  8. 原型完美的程度跟审视的人数成反比,反比值会随着涉及的资金数增大。
  9. 软件直到被变成产品运行至少6个月后,它最严重的问题才会被发现。
  10. 无法检测到的错误的形式无限多样,而能被检测到的正好相反,被定义了的十分有限。
  11. 修复一个错误所需要投入的努力会随着时间成指数级增加。
  12. 软件的复杂度会一直增加,直到超出维护这个程序的人的承受能力。
  13. 任何自己的程序,几个月不看,形同其他人写的。
  14. 任何一个小程序里面都有一个巨大的程序蠢蠢欲出。
  15. 编码开始的越早,花费的时间越长。
  16. 一个粗心的项目计划会让你多花3倍的时间去完成;一个细心的项目计划只会让你多花2倍的时间。
  17. 往大型项目里添加人手会使项目更延迟。
  18. 一个程序至少会完成90%,但永远完成不了超过95%。
  19. 如果你想麻烦被自动处理掉,你得到的是自动产生的麻烦。
  20. 开发一个傻瓜都会使用的软件,只有傻瓜愿意使用它。
  21. 用户不会真正的知道要在软件里做些什么,除非使用过。

原文: http://sr.ju690.cn/meme/item/84613

分享到:
评论

相关推荐

    当了两年软件工程师-我明白了这三条生存法则.doc编程资料

    当了两年软件工程师-我明白了这三条生存法则.doc

    刘艺 模式编程 附书源码

    还进一步阐述了模式的概念,深入讨论了Delphi的模式编程机制和模式编程法则。 该书适合有编程经验的Delphi程序员,以及有志从事系统设计和架构,不断挑战自我发展空间的软件开发人员阅读。该书还可以作为研究生和...

    Delphi模式编程

    还进一步阐述了模式的概念,深入讨论了Delphi的模式编程机制和模式编程法则。, 该书适合有编程经验的Delphi程序员,以及有志从事系统设计和架构,不断挑战自我发展空间的软件开发人员阅读。该书还可以作为研究生和...

    编程珠玑.pdf

    2.5 习题 21 2.6 深入阅读 22 第3章 程序员的忏悔 23 3.1 二分搜索 24 3.2 选择算法 26 3.3 子程序库 28 3.4 原理 30 3.5 习题 31 第4章 自描述数据 33 4.1 名字—值对 33 4.2 记录来历 36 4.3 排序实验 37 4.4 原理...

    C#并行编程高级教程:精通.NET 4 Parallel Extensions中文(第2部分)

    Caston C.Hillar是一位独立软件咨询师,自1997年起便一直从事并行编程、多处理器和多核领域的研究,Gaston拥有使用C#和.NET Framework来设计和开发各种复杂并行解决方案的丰富经验,曾于2009年荣膺Intel Black Belt...

    软件需求分析方法总结(CHM)

    目录 1、撰写优秀的需求 2、轻巧建模之需求篇 3、如何分析问题和需求 ...14、需求分析的20条法则 15、需求分析阶段的工作计划 16、有效的需求分析员 17、怎么做需求分析 18、解决需求工程中的基本问题

    思考软件-创新设计 A段架构师的思考技术

    《思考软件,创新设计——A段架构师的思考技术》介绍当今全球正蔚为风潮的设计思考(Design Thinking)技术,陪伴你从目前的编程或设计岗位进入架构设计(A段和B段),踏上灿烂的软件(程序)生涯的新旅程。...

    计算机编程艺术卷1

    卷1为基础运算法则,该书以基本的编程概念和技术为开始,然后讲述信息结构--计算机内信息的表示法,数据元素间的结构关系以及处理它们的有效方法。主要应用于模拟、数字方法、符号计算、软件和系统设计。许多简单和...

    系统分析师资料(软件工程,UML)

    软件开发需求60条法则.doc 什么是极端编程.doc 探究需求管理的本质.doc 相信任何一位程序员都曾经见过面条状的代码.doc 星型模式建模和雪花模式的数据仓库应用的建模.doc 需求分析概述.doc 序列图.doc 应对中间件互...

    用jdom简化xml 编程 关于xml

    作为开发人员,您可能听说过 80-20 规则,在其它领域被称为 Pareto 法则:一种过程或方法能适应所有可能情况的 80%,另外的 20% 则需要根据具体情况来处理。软件开发的必然结果是:对于开发人员而言,有了给定的技术...

    ​50年来最具影响力的十大编程语言

    导读:“适者生存”的自然法则在应用竞争激烈的编程语言界同样适用,而在数百种编程语言中,相对而言,哪些最具影响力?哪些才是开发者们最值得关注的? 作者:javinpaul 译者:馨怡,责编:屠敏 来源:CSDN(ID:...

    为什么软件开发方法论让你觉得糟糕?

    结对编程是代码评审的有效替代抑或只是增加了商议沟通代  围绕软件开发实践和方法论,总有很多教条式的口水仗。阶段式(phase-gate)方法能够有效管理软件开发过程的风险,还是说只是风险管理中的花哨噱头?TDD真的...

    C#并行编程高级教程:精通.NET 4 Parallel Extensions中文(第一部分)

    Caston C.Hillar是一位独立软件咨询师,自1997年起便一直从事并行编程、多处理器和多核领域的研究,Gaston拥有使用C#和.NET Framework来设计和开发各种复杂并行解决方案的丰富经验,曾于2009年荣膺Intel Black ...

    C#并行编程高级教程:精通.NET 4 Parallel Extensions中文(第3部分)

    Caston C.Hillar是一位独立软件咨询师,自1997年起便一直从事并行编程、多处理器和多核领域的研究,Gaston拥有使用C#和.NET Framework来设计和开发各种复杂并行解决方案的丰富经验,曾于2009年荣膺Intel Black Belt...

    巴结搜索引擎的十五法则

    本文档主要介绍了巴结搜索引擎的十五法则以及使用到的相关技术。

    模式转变-并行编程方面的设计注意事项

     本文将介绍以下内容:并行计算并发编程性能提高本文使用了以下技术:多线程 目录并发和并行结构化多线程数据并行性数据流数据并行性单程序,多数据并发数据结构总结从1986到2002年,微处理器的性能每年提高了52%...

    MiniICP应用全功略

    科技发展日新月异电子产品也在不断地更新换代产品中难免要出现不同程度的BUG这就需要工程师对软硬件不断的升级因为升级硬件的开销巨大所以升级产品主要集中在对软件的查漏补缺上面现在芯片的集成度也是越来越高从双...

    敏捷软件开发简介

    第一节 敏捷方法的含义 第二节 软件开发过程的比较 第三节 极限编程( eXtreme Programming ,XP)简介 准则 法则 活动 实践 讨论 应用实例 常见问题

Global site tag (gtag.js) - Google Analytics