软件工程必看——10条你最容易忽视的经典法则
新智元
共 2039字,需浏览 5分钟
·
2021-03-02 13:07
新智元报道
【新智元导读】本文列出了10条经常被忽视的软件工程法则,包括康威定律、布鲁克斯定律、扎温斯基定律、帕金森定律、帕累托法则、斯特金的启示、彼得原理、Eagleson 定律、Greenspun 的第十条编程规则以及冰山谬论。
1. 康威定律(Conway's Law)
任何设计系统的组织,其设计的结构都是该组织沟通结构的复制品。
2. 布鲁克定律(Brooks's Law)
“给一个迟来的软件项目增加人力会使它更迟。”
3. 扎温斯基定律(Zawinski's Law)
“每个程序都试图扩展,直到它包含了一个web服务器。那些不能扩展的项目会被能够扩展的项目所取代。”
4. 帕金森定律(Parkinson's Law)
工作完成的时间会影响工作的量"
在使用完所有可用的存储空间/带宽/周期/RAM之前,数据/CPU/内存的使用会一直扩展
5. 帕累托谬论(Pareto's Fallacy)
“当你完成了80%时,你会认为你只剩下20%了。”
6. 斯特金启示(Sturgeon's Revelation)
所有部分的90%都是无用的。
7. 彼得原则(The Peter Principle)
在等级制度中,每个员工都倾向于升到他们不能胜任的级别。因此,随着时间的推移,每个岗位都有可能被不称职的员工占据。”
8. Eagleson定律(Eagleson's Law)
任何你自己的代码,如果你有6个月或更长的时间没有查看,就好像是别人写的一样。
9. Greenspun编程的第10条规则(Greenspun's 10th Rule of Programming)
任何自定义开发的身份验证系统都包含一个特别的、非正式指定的、充满错误的、缓慢的Kerberos实现。
10. 冰山谬论(The Iceberg Fallacy)
新软件产品的开发成本仅占所有权管理的总成本和预算的25%。
评论