小菜編程成長記(三 復制VS復用)
系列文章導航:
小菜編程成長記(九 會修電腦不會修收音機?——聊設計模式原則)
小菜編程成長記(十一 無熟人難辦事?——聊設計模式迪米特法則)
小菜編程成長記(十三 設計模式不能戲說!設計模式怎就不能戲說?)
(續上篇)
小菜:“我明白了,他說用任意一種面向對象語言實現,那意思就是要用面向對象的編程方法去實現,對嗎?OK,這個我學過,只不過當時我沒想到而已。”
大鳥:“所有編程初學者都會有這樣的問題,就是碰到問題就直覺的用計算機能夠理解的邏輯來描述和表達待解決的問題及具體的求解過程。這其實是用計算機的方式去思考,比如計算器這個程序,先要求輸入兩個數和運算符號,然后根據運算符號判斷選擇如何運算,得到結果,這本身沒有錯,但這樣的思維卻使得我們的程序只為滿足實現當前的需求,程序不容易維護,不容易擴展,更不容易復用。從而達不到高質量代碼的要求。”
小菜:“鳥哥呀,我有點糊涂了,如何才能容易維護,容易擴展,又容易復用呢,能不能具體點?”
大鳥:“比如說,我現在要求你再寫一個windows的計算器,你現在的代碼能不能復用呢?”
小菜:“那還不簡單,把代碼復制過去不就行了嗎?改動又不大,不算麻煩。”
大鳥:“小菜看來還是小菜呀,有人說初級程序員的工作就是Ctrl+C和Ctrl+V,這其實是非常不好的編碼習慣,因為當你的代碼中重復的代碼多到一定程度,維護的時候,可能就是一場災難。越大的系統,這種方式帶來的問題越嚴重,編程有一原則,就是用盡可能的辦法去避免重復。想想看,你寫的這段代碼,有哪些是和控制臺無關的,而只是和計算器有關的?”
大鳥:“小菜看來還是小菜呀,有人說初級程序員的工作就是Ctrl+C和Ctrl+V,這其實是非常不好的編碼習慣,因為當你的代碼中重復的代碼多到一定程度,維護的時候,可能就是一場災難。越大的系統,這種方式帶來的問題越嚴重,編程有一原則,就是用盡可能的辦法去避免重復。想想看,你寫的這段代碼,有哪些是和控制臺無關的,而只是和計算器有關的?”
(待續)
全站熱搜
留言列表