Tips for Debug

引子

工作了一段时间之后,难免会有一些经验和技术需要总结提炼一下,才能提高效率节约时间,所谓“术”。但是这些不仅是Tips,还蕴含一下结构化思维的“道”在里面, 时不时回归一下吧。

Debug的一些tips.

  1. 保持系统性,记录做过的尝试,不要浪费时间一遍遍尝试同样的东西。
  2. 一名有经验的程序员,会记录自己经常犯过的错误,debug的时候作为依据进行。Keep trace of the mistakes you makes,

常见错误:

  1. 参数顺序弄错。 Reversed order of arguments

  2. 拼写错误,导致变量使用错误。 spell

  3. 初始化变量的问题,初始化的时机和位置。 initialization

  4. 判断是否相等时,检查值相等还是对象相等。 Object versus value equality

  5. 创造一些别名,方便自己方便他人。 alias things

  6. 留意深拷贝和前拷贝。当有copy集合类型是,如果集合中也是mutable的类型则需要格外注意,是否是deep copy。deep versus shallow copy

  7. 注意函数的副产品。Run side-effects , call a Function with side-effects

  8. 留意你的前置设定假设,也许假设就是错的。

  9. 对于别人写的代码,相信代码,以代码为准,不要过于相信注释。

  10. 积极需求帮助 (很重要)。

  11. 向别人解释代码,有助于理解。

  12. 休息一下。

  13. 修改bug时,不要着急,想到啥就直接做。 haste makes waste,

    will it fix all of the symptoms you’ve seen? Or if not, are the symptoms independent, will at least fix some of them?

  14. 经常整理代码.

Ref:

原文链接