与其他领域一样,软件开发领域也有一些非常有趣的定律。程序员、技术经理和架构师们经常在会议和聊天中提到它们。作为小白,我们常常只有点头附和的份,因为我们不希望让对方知道我们实际上根本不知道布鲁克、摩尔或者维斯都是什么人。
这些定律包括了一些法则或软件开发大神的名言。它们都很有趣,值得我们一探究竟,而且每个定律背后都有令人惊叹的背景故事。
在这篇文章中,我将分享我对软件开发领域最著名和最常见的定律的解释和想法。
一、墨菲定律(Murphy’s Law)
可能是最著名的定律之一,主要是因为它不仅适用于软件开发。
如果事情可能出错,它就会出错。
-
第一个推论:那些有效的(代码),你可能反而没有写出来。
-
第二个推论:诅咒是唯一一门所有程序员都能流利说出来的语言。
-
结论:电脑会按照你所写的(代码)去做,而不是按照你所想的去做。
防御性编程、版本控制、末日场景(针对那些该死的僵尸服务器攻击)、TDD、MDD,等等,这些都是针对这一定律的防御性实践。
二、布鲁克定律(Brook’s Law)
大多数开发人员都有意无意地经历过布鲁克定