六条软件开发黄金定律

与其他领域一样,软件开发领域也有一些有趣的定律,这些定律包括了一些法则或软件开发大神的名言,而且每个定律背后都有令人惊叹的背景故事。最近,蒂姆·萨默(Tim Sommer)发文盘点了软件开发领域最著名和最常见的15 条定律,本文摘录了技术人较为熟悉的 6 条定律。
1. 墨菲定律(Murphy’s Law)
该定律指出:如果事情可能出错,它就会出错。
这可能是最著名的定律之一,因为它不仅适用于软件开发。该定律的第一个推论是,那些有效的代码,你可能反而没有写出来;第二个推论是,诅咒是唯一一门所有程序员都能流利说出来的语言。最终结论为电脑会按照你所写的(代码)去做,而不是按照你所想的去做。
2. 布鲁克定律(Brook’s Law)
该定律指出:为已经延期的软件项目增加人手只会让项目延期得更厉害。
如果一个项目出现了延期,只是简单地增加人手很可能会带来灾难性的后果。对编程效率、软件开发方法、技术架构等因素进行评审总是会带来更好的结果。如果没有,那说明霍夫施塔特定律也在起作用。

3. 霍夫施塔特定律(Hofstadter’s Law)
该定律指出:即使你考虑到了霍夫施塔特定律,项目的实际完成时间总是比预期的要长。

这个“定律”是关于准确预估完成复杂任务所需时间的难度。这个定律具有递归性,反映了预估复杂项目的难度,尽管你可能已经做出了最大的努力,而且也知道任务的复杂性。

4. 康威定律(Conway’s Law)

该定律指出:软件的结构反映了开发软件的组织的结构。

很多组织是根据功能性技能来划分团队的,所以会有前端开发团队、后端开发团队和数据库开发团队。简单地说,如果某人想要改变的东西。

5. 帕累托法则(Pareto Principle)或 或 80/20 法则
该定律指出:对于很多现象,80%的后果源于 20%的原因。
还有人说,公司里 80%的工作是由 20%的员工完成的,问题是你并不清楚是哪 20%员工。

6. 摩尔定律(Moore’s Law)

该定律指出:单位成本的计算机算力每 24 个月翻一番。或者是,集成电路上的晶体管数量大约每 18 个月会增加一倍。

猜你喜欢

转载自blog.csdn.net/Samurai77/article/details/89742900
今日推荐