Unix哲学

  • Notes on Programming in C
  1. 你永远不知道你的程序会在什么地方耗费时间。程序的瓶颈常常出现在意想不到的地方,因此在你确信找到瓶颈后再动手优化代码吧。
  2. 测试代码。只有你详细测试了代码,并且发现一部分代码耗费了绝大部分的运行时间再对程序做速度优化。
  3. 功能全面的算法(fancy algorithm)在处理小规模问题时效率很低,这是因为算法时间效率中的常量非常大,而问题往往规模很小。除非你知道遇到的常常是福大的情况,否则就让代码丑陋但是简单而高效吧。(即使问题规模确实很大,也首先尝试第二条规则。)
  4. 功能全面的算法比简单的算法更容易出bug,更难实现。尽量使用简单的算法和数据结构。
  5. 数据决定一切。如果选择的数据结构能很好地管理数据,算法部分往往不言自明。记住,数据结构,而非算法,才是编程的关键。
  6. 没有第六条规则。

2022-05-09

13:26:52

posted @ 2022-05-09 13:29  一块一块儿  阅读(42)  评论(0)    收藏  举报