Cla*_*ols 6 language-agnostic debugging
程序员可以拥有许多技能(理解问题,提出好的问题,良好的设计技能等).
我认为系统调试技能非常有价值.调试任何技术系统的一般技能(从你的遥控器中的电池死机到来自你邻居的Ham Radio的信号干扰).
这是我教授计算机编程时给学生的方法:
Whadaya认为?
如果您将“故障排除”定义为包括“调试”,那么是的,这很重要!
编辑:根据您的编辑,您列出的自上而下的消除过程技术是系统性的并且非常有价值。
另一种技术是向后推理:
当存在大量可能导致问题的前馈路径/可能性时,这非常有用,但优点是不需要调试器或跟踪来找出最可能的原因。
另一种技术是通常怀疑的技术,您可以从最后接触的代码部分或给您带来最多问题的代码部分开始调查,看看其中是否有某些变化导致了新问题
另一种技巧是坐下来思考什么情况可能会产生观察到的错误/行为/值。当你很匆忙并且不想系统地扫描很多地方时,这种技术很有用,但要求你已经对系统有透彻的了解。当相关错误/行为是由于设计缺陷或疏忽而不是编码错误造成时,这非常有用。