[英文出处]:21 Laws of Computer Programming
[译文出处]:外刊IT评论
任何一个有经验的程序员都知道,软件开发遵循着一些不成文的法则。然而,如果你不遵循这些法则也并不意味着会受到惩罚;相反,有时你还会获得意外的好处。
下面的就是软件编程中的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. 用户不会真正的知道要在软件里做些什么,除非使用过。
分享到:
相关推荐
### Web 2.0编程思想:16条法则 #### 法则一:明确目标与需求 在开发任何Web 2.0应用之前,需要明确其核心价值与目标。这包括确定应用程序的主要功能(如标签、评论、编辑页面等),并确保这些功能能够满足用户的...
计算机编程的24条法则是一组旨在提升编程质量和效率的准则,这些法则涵盖了软件开发的多个方面,包括异常处理、代码编写、测试、文档、优化和项目管理。下面是对每一条法则的详细解释: 1. **致命的异常中止决不...
LabVIEW 软件编程规范 LabVIEW 软件编程规范旨在提高软件开发效率和软件质量,为开发团队提供了一套统一的开发规范。该规范涵盖了程序组织结构、命名规则、注释规范、程序健壮性、可移植性、错误处理以及软件的模块...
1. 数据结构与算法:它们是编程的基础,数据结构用于高效存储和组织数据,算法则是解决问题的步骤和方法。 2. 版本控制系统:如Git,用于跟踪代码变更,协同开发和管理项目。 3. 软件设计模式:预定义的解决方案...
LabVIEW 软件编程规范标准 LabVIEW 软件编程规范标准是为了提高软件开发效率和可维护性而制定的规则。该规则由程序组织结构、命名规则、注释规、程序健壮性、可移植性、错误处理以及软件的模块化规等部分组成。 一...
基于C语言的计算机软件编程是计算机科学领域的一个重要分支。C语言作为一种通用编程语言,以其高效、灵活和强大的功能,在计算机软件编程领域占据重要地位。本文对C语言的基本概念、特点以及编程技巧进行了全面的...
本资源“C语言编程法则,英文版.zip”是一个专门针对C语言编程的学习资料,对于想要深入理解和掌握C语言的程序员来说,是一个非常有价值的工具。 该压缩包包含两份文件:www.pudn.com.txt 和 File_id.url。尽管...
面向对象设计和编程的四大法则,是软件开发中面向对象思想的重要指导原则,旨在提高代码的灵活性、可维护性和可扩展性。以下是这四个法则的详细解释: 1. 优先使用组合(对象组合)而非继承(类继承) 组合是通过...
当了两年软件工程师-我明白了这三条生存法则.doc
在编程和软件设计中,迪米特法则(Law of Demeter,简称LoD)是一个重要的设计原则,它属于面向对象设计中的一个最佳实践。迪米特法则得名于希腊神话中的先知迪米特,其核心思想是“只与你的直接朋友交谈”。这一...
计算机编程原理是软件开发的基础,它涵盖了编程语言的语法、数据结构、算法、设计模式以及软件工程的原则。在这个“计算机编程原理讲义”中,我们将会深入探讨几个关键概念,首先是工厂模式,然后是迪米特法则。 **...
还进一步阐述了模式的概念,深入讨论了Delphi的模式编程机制和模式编程法则。 该书适合有编程经验的Delphi程序员,以及有志从事系统设计和架构,不断挑战自我发展空间的软件开发人员阅读。该书还可以作为研究生和...
设计模式的原则涵盖了如迪米特法则等面向对象设计的基本原则,这些原则有助于创建松耦合、高内聚的代码,使得软件系统更加稳定和易于扩展。 三层架构是一种常见的软件架构设计模式,它将软件系统分为三个基本的处理...
这份试题主要针对初级软件编程,特别是针对少儿编程的学习者,使用的编程工具可能是Scratch这样的图形化编程平台。试题涵盖了基本的编程概念、Scratch积木操作以及编程逻辑。以下是各题目的知识点解析: 1. 程序让...
以下是对Web 2.0编程思想16条法则的详细解读: 1. **用户生成内容 (User-Generated Content, UGC)**: 用户不再仅仅是信息的消费者,而是内容的创造者和分享者。例如,社交媒体平台允许用户发布文字、图片、视频,...
面向对象编程(Object-Oriented Programming,简称OOP)是一种编程范式,它基于“对象”的概念,通过封装、继承和多态等核心原则,使程序设计更接近现实世界的模型,从而提高软件的复用性和可扩展性。 在书中,作者...