最近回顾项目,
发现:在调试过程中最耽误时间的可能不是技术难度,而是惯性思维;
例如:
我写can通信滤波器的时候,可能是不过滤的;是接收所有的id报文,然后用业务逻辑过滤(比如在业务逻辑里判断id是否为符合要求的设备,再识别报文);
而有的工程师在写代码的时候,是直接在初始化的时候进行id过滤;
假设工程师A是初始化时过滤id,然后我维护他的代码的时候,发现设备接收不到广播包(id:0);
过程如下:
一开始发现这台设备接收不到 id 0的报文;
这个时候不知道设备是不是好的,恰好今天CAN分析仪坏了;
这个时候会由于习惯(认为这个设备可以接收所有的id),推测这台设备可能坏了(波特率不对?线送了?板子挂了?)
结果分析一通,最后才想起来“CAN初始化的时候做了过滤,只接收指定范围的id”,
花了更多的时间分析偏了;
当然,这个惯性思维不仅有自身的原因,也有外界的原因。
还是要保持理性,不能带着偏见去分析问题;