bug的一些可能性与查找bug的一些方式(MIT总结)

Reversed order of arguments(自变量顺序错误):顺序错误

spellings:拼写错误

initialization:初始化的时机或方式错误

object vs value equality:对象相等还是值相等问题,equal与==

aliasing - Deep vs shallow copy:别名问题,常见例子就是数组的深复制和浅复制问题

side effects(副作用):有可能是某个改动带来的副作用

keep record of what you tried:记录你尝试过的方法

reconsider assumption(反思猜想):反思一下你之前的猜想是不是正确的

Debug code,not comments:一个代码最好亲自调试一下,不要盲目相信注释

get help - explain:可以寻求帮助,因为他人可以以旁观者的视角看待问题,或者你可以解释你的代码,也许在解释过程中自己就能发现问题。

walk away:可以出去走走,放松一下思维

haste makes waste(欲速则不达)

code should not always grow:不能一味地增加代码来解决问题,代码越多,越容易出问题。

make sure that you can revert:确保你可以回滚

save old versions:保留旧的版本,当你发现你改动的代码把原来正确的东西改错了的时候,可以恢复到旧的版本上。

你可能感兴趣的:(计算机理论)