Don't program by coincidence. ---不要靠巧合編程。

故事: 一個疲憊的士兵警覺的從灌木叢中鑽出來,前面有一片空曠地: 那裏有地雷嗎?仍是能夠安全經過?沒有任何跡象代表那是雷區----沒有標記,沒有鐵絲網、沒有彈坑,士兵用他的刺刀戳了戳前進的地面,又趕忙縮回來,覺得會發生爆炸,沒有。因而他緊張的向前走,刺刺這裏,戳戳那裏,最後他確信這裏是安全的,因而大步向前,結果被炸成粉碎。 程序員

把僥倖當作結果,而後獲得災難。 編程

程序員: 作爲開發者,咱們也工做在雷區裏,應該警戒不要得出錯誤的結論。避免巧合編程---靠運氣和偶然的成功---要深思熟慮的編程。 安全

現在項目和節奏愈來愈快,有不少一批程序員都是拷貝程序員,須要什麼樣的功能就上網去搜,而後拷貝到本身的程序中,嘗試運行一下,成功!其實,我有時候也喜歡這麼幹,因而,理所固然的放入本身的程序中,並不真正理解,因而進行了幾周這樣的編碼後,程序忽然中止了工做,你花了數個小時無法修正它,也不知道緣由何在,這個時候你可能花大量時間檢查代碼,都很難修正,代碼就是不能正確工做。 測試

你不知道代碼爲何失敗,引文你開始就不知道它爲何能工做,假定你作的是有限測試,代碼好像能工做,但那僅僅是一種巧合。如今有不少人均可能遇到過這種狀況。 咱們不能依靠巧合,對嗎? 編碼

要深思熟慮的編程: 接口

老是意識到你在作什麼. 不要讓事情慢慢失去控制,直到像青蛙同樣被煮熟。 事務

不要盲目編程。構建不徹底理解的應用,或者不熟悉的技術,就是但願本身被巧合誤導。 開發

按計劃行事。 產品

依靠可靠的事務。不要依靠巧合或假定。 程序

不要只是測試你的代碼,還要測試你的假定。 編寫斷言測試你的假定。

不作歷史的奴隸。 淘汰老舊的不適用的代碼。

本身:有的時候碰上一個很大的系統,並不想花時間去完全理解它,可是須要編程,就拿接口一遍一遍的去試,成功了就行,或者一個功能,也不喜歡去作詳細的design就開始寫,寫到一半不捨得本身的代碼,將錯就錯作了糟糕的實現,歷來不考慮深層次的東西,維護的時候就懼怕了。其實這樣花在上面的時間遠不如,開始花時間去好好的理解,磨刀不誤砍柴工。 甚至據說過,有的老產品實在忍受不了維護代碼,程序員把本身逼的辭職的事。

總結下來,仍是程序員不要懶惰。


參考:《程序員修煉之道 從小工到專家》

相關文章
相關標籤/搜索