提高程式設計師專案設計水平的11條建議

edithfang發表於2014-07-24


1.分析清楚你要面對的專案。

這是進行所有工作的第一步,如果你在這個地方都犯錯了,那麼後續所做的一切努力都是白費。比如,你要完成圖書管理系統,那麼你就應該明白這個系統主要是用於解決圖書管理的問題。

2.考慮專案設計的方法。

在這個階段,你要根據這個專案的特點考慮設計的工具和語言。比如,對於圖書管理系統,它需要封裝性好,這樣有利於管理和維護。而這個系統開發週期較短,功能較簡單。所以,根據其特點,選擇Java作為開發語言會是一個不錯的選擇。

3.收集完整的需求。

花時間整理清楚你的使用者群的基本需求有哪些,而你的產品最終功能有哪些。清晰的思維能夠為你節省大量的時間。

4.編寫全面的實施計劃(或模型)。

對於小型獨立的專案,這可能只是一個基本的流程圖或一個簡單的函式模型。

對於較大的專案,它有助於將工作分解成模組,並作如下考慮:

* 每個模組的功能是什麼
* 模組之間的資料如何傳遞
* 每個模組如何呼叫這些資料

雖然收集需求和編寫計劃比起寫程式碼來得枯燥,甚至樂趣性比起花費幾小時進行Bug除錯還不如。但是,花時間對程式的正確流程和結構進行預先計劃卻能確保後續的程式設計的高效率。

5.為程式碼新增註釋。

在你認為需要為程式碼進行解釋說明的地方新增註釋。最常見的註釋會出現在函式說明,變數宣告和返回值上,它告訴人們這個東西有什麼用處以及為什麼會這麼做。

6.採用統一的命名規則來為變數命名。

它將幫助你跟蹤每種型別的變數,並弄清楚每種變數的代表的是什麼。比起簡單的x = a + b * c,使用命名規則的命名的變數能夠使程式碼更加易於維護和除錯。最常見的命名規則為匈牙利命名法,變數名的字首包含了它的函式型。比如,為整數變數命名的intRowCounter,以及為字串型命名的strUserName。不管你採用的命名規則是什麼,你必須確保命名規則的一致性,並且該規則能夠對你的變數具有簡單描述性。

7.對程式碼進行組織化編輯。

使用視覺化的結構來表現程式碼結構。比如,在條件語句(if,else)或者迴圈語句(for,while)的程式碼塊進行程式碼縮排。再比如,在變數和操作符中間加入空格。這樣做能夠使程式碼更直觀優雅,程式流程一目瞭然。

8.進行全面的測試。

首先,在每個模組中測試常見的資料值,看是否和預期結果一樣;再然後測試那些非常規的資料型別,用於排除隱藏的錯誤。測試是一門藝術,你能夠在實踐中豐富自己的技巧和見地。編寫的測試用例通常會包含以下幾種情形:

極端值:包含極小值和超出預期的極大值,空字串的文字值,每個引數都為空的情形等。

無意義的值:假定使用者會輸入一些與輸出要求無關的東西,看程式會對此有何反應。

不正確的值:比如把零作為除數,把負數作為平方根,或者是在輸入字串的時候輸入了一個數字。

9.實踐,實踐,再實踐。

程式設計的工作是與時俱進的,你能夠在實踐中學到很多新的知識,同時以前學過的舊知識也能夠被重新溫習。

10.減小需求改變的風險。

在現實的工作環境中,需求的變化一直是一個令人頭痛但又不得不去面對的問題。但是,假如你能夠在專案開始階段將需求和專案計劃越發清楚地表現出來,那麼在後續因為溝通的誤解或理解力不夠而導致設計的結果與需求產生偏差的問題就會得到有效的改善。 所以,在專案設計的階段,請在編寫程式碼之前清楚的展示你的需求文件和工作說明:系統需要什麼東西,你正打算做什麼,工作開展到了什麼地步。

11.學會由簡入繁。

假如你需要程式設計的東西很複雜,這樣做能夠幫助你更加順利地開展工作。例如,有這樣一個專案,視窗上有一個任意形狀的圖形,需要設計一個程式能夠根據按住滑鼠滑動的方向和速度而改變它的形狀。

首先,你可以設計完成一個正方形在按住滑鼠滑動而產生形變的情形。換句話說,這一步主要是解決滑鼠運動跟蹤的問題。

接著,將這個正方形的大小與滑鼠的速度相關聯起來。換句話說,這一步是解決滑鼠速度與自身的形狀的關聯問題。

最後,建立你想要的實際形狀,並把這三個元件連線在一起。

這種方法有助於模組化專案的程式碼編寫,其中每個元件都有它自己的獨立的塊。這對程式碼重用是非常有用的(例如你想使用滑鼠跟蹤新專案)並使得程式更容易除錯和維護。
相關閱讀
評論(0)

相關文章