与任何其他领域一样,软件开发领域也有一些非常有趣的规律。程序员、技术经理和架构师经常在会议和聊天中提到它们。作为新手,我们经常只是点头表示同意,因为我们不想让其他人知道我们实际上并不知道布鲁克、摩尔或韦斯是谁。
这些法则包括软件开发大神的一些法则或引用。它们都很有趣,值得一试,每条法律背后都有一个惊人的背景故事。
在这篇文章中,我将分享我对软件开发中最著名和最常见的规律的解释和想法。
墨菲定律
可能是最著名的定律之一,主要是因为它不仅仅适用于广州app开发。
如果有什么事情可能出错,它会的。
第一个推论:有效的(代码),你可能不会写。
第二个推论:Curse 是唯一一种所有程序员都能流利地说的语言。
结论:计算机会做你写的(代码),而不是你想的。
防御性编程、版本控制、世界末日场景(对抗那些该死的僵尸服务器攻击)、TDD、MDD 等都是针对这条定律的防御实践。
布鲁克定律
大多数开发人员有意识或无意识地体验布鲁克定律,该定律指出:
将人员添加到已经延迟的软件项目只会进一步延迟项目。
如果一个项目被推迟,简单地增加员工可能会产生灾难性的后果。对编程效率、软件开发方法、技术架构等因素的审查总是会带来更好的结果。如果不是,那么霍夫施塔特定律也在起作用。
霍夫斯塔德定律
霍夫施塔特定律由道格拉斯·霍夫施塔特提出并以他的名字命名。
当然,不要把这个规律和电视剧《生活大爆炸》里的伦纳德比较Hofstadter 感到困惑,尽管他所说的某些内容对某些人来说有点道理。
该法规定:
即使考虑霍夫施塔特定律,一个项目的实际完成时间也总是比预期的要长。
这个“定律”是关于准确估计完成复杂任务所需时间的难度。该定律是递归的,反映了尽管您尽最大努力并了解任务的复杂性,但估计复杂项目的难度。
这就是为什么在进行项目估算时需要缓冲的原因。

相关推荐