天天看點

思維慣性引發的程式設計問題

為什麼程式要了解思維的障礙,并要練習有意識的加以克服?這裡舉一個實際發生的問題。

寫代碼像寫作一樣,有時思如泉湧,順着思路就把一段代碼寫得有模有樣。

下面是一個狀态碼檢查的例子(這種寫法本身并不嚴謹,但這裡要讨論是一個更為嚴重的問題.):

這樣很自然就有了一個模型STATE & state就可以判斷是不是目前這個狀态。順着前面的思路,就有了:

一切看起來都合情合理,程式員這時往往是很難會想到要回頭檢查的(至少我是這樣)。于是一個Bug就在不久之後被發現了! 因為STATE_DEFAULT & state永遠為0!

而解決方案有兩個: 1.将設計用圖形化的先表現出來,即使隻是在紙上畫一下。2.代碼走查,特别注意邊界條件,可以是自己回頭查一下,也可以類似結對程式設計一樣,請同伴幫助走查。但最起碼的是,程式員要意識到這種問題的存在。這就是本文的目的。

繼續閱讀