有時候我會興之所致寫些小程序,諸如:日程管理、網(wǎng)絡(luò)通信庫,但是基本上不出一周就腰折了,究其原因是不知道下一步要做些什么了,而已經(jīng)寫好的代碼也有點不著調(diào),它能工作,但就像是營養(yǎng)不良,設(shè)計的類似乎抓住了一點概念,但是總是以一種自以為是的方式工作。
我開發(fā)方式中的問題即使別人不提我也覺察到了:需求分析不足,過早進入實現(xiàn)階段,習(xí)慣性地陷入細節(jié)的泥潭不可自拔。
當做一件事情有了不良習(xí)慣時,改正的辦法不外乎不斷地重復(fù)正確的方式,就像糾正你英語言中某個單詞的發(fā)音錯誤,通過不斷地朗讀正確發(fā)音消除掉原有發(fā)音的記憶。不過這個方法對于解決我目前的問題似乎毫無幫助,因為我還不知道正確的發(fā)音是什么。
或許改變開發(fā)習(xí)慣會間接地解決上面的問題,在打開熟悉的IDE寫代碼之前用uml之類的高層語言打好結(jié)構(gòu)、將關(guān)鍵的控制流程畫出來,直到意識到可以將思路翻譯成代碼時才寫代碼。這樣至少可以避免陷入細節(jié)的泥潭,因為一直以來當我發(fā)現(xiàn)局部的一個顯而易見的解決方案時,總是忍不住立即動手,結(jié)果是撿了芝麻丟了西瓜。