Rob Pike 的5条编程规则

发布: (2026年3月18日 GMT+8 17:59)
2 分钟阅读

Source: Hacker News

Rob Pike 的规则

规则 1

你无法预先知道程序的时间花在哪里。瓶颈往往出现在意想不到的地方,所以不要去猜测并在未确认瓶颈所在之前就加入加速 hack。

规则 2

测量。只有在测量之后才进行速度调优,而且即使如此,也只在代码的某一部分压倒其他部分时才调优。

规则 3

n 很小的时候,复杂算法很慢,而 n 通常是小的。复杂算法有很大的常数因子。除非你确定 n 经常会很大,否则不要使用复杂算法。(即使 n 真的变大,也先使用规则 2。)

规则 4

复杂算法比简单算法更容易出错,而且实现起来也更困难。使用简单的算法以及简单的数据结构。

规则 5

数据至关重要。如果你选择了合适的数据结构并且组织得当,算法几乎总是显而易见的。数据结构,而不是算法,才是编程的核心。

Pike 的规则 1 和 2 重申了 Tony Hoare 的著名格言:
“过早的优化是一切邪恶的根源。”

Ken Thompson 将 Pike 的规则 3 和 4 改写为 “有疑问时,使用暴力破解。”

规则 3 和 4 是 KISS(保持简洁)设计哲学的实例。

规则 5 之前由 Fred Brooks 在《人月神话》中提出。
规则 5 常被简化为 “写愚蠢的代码,使用聪明的对象”。

0 浏览
Back to Blog

相关文章

阅读更多 »