最近回顧項目,
發現:在調試過程中最耽誤時間的可能不是技術難度,而是慣性思維;
例如:
我寫can通信濾波器的時候,可能是不過濾的;是接收所有的id報文,然后用業務邏輯過濾(比如在業務邏輯里判斷id是否為符合要求的設備,再識別報文);
而有的工程師在寫代碼的時候,是直接在初始化的時候進行id過濾;
假設工程師A是初始化時過濾id,然后我維護他的代碼的時候,發現設備接收不到廣播包(id:0);
過程如下:
一開始發現這臺設備接收不到 id 0的報文;
這個時候不知道設備是不是好的,恰好今天CAN分析儀壞了;
這個時候會由于習慣(認為這個設備可以接收所有的id),推測這臺設備可能壞了(波特率不對?線送了?板子掛了?)
結果分析一通,最后才想起來“CAN初始化的時候做了過濾,只接收指定范圍的id”,
花了更多的時間分析偏了;
當然,這個慣性思維不僅有自身的原因,也有外界的原因。
還是要保持理性,不能帶著偏見去分析問題;