提高程式設計技能的11個建議:
1.1.
首先仔細分析問題2.
接著好好想想如何解決這個問題接著好好想想如何解決這個問題
3.收集整理所有需求。
花點時間將最終產品要實現的目標寫下來,並且明確哪些是我們的目標用戶群。如果這一步能做好的話,將會給後面節省大量的時間,正所謂磨刀不誤砍柴工。
4.寫一個全面的實施計畫(或模型)。
如果是個小項目,這一步出來的可能只是一個基本的流程或是一個簡單的等式。
如果是個比較大的項目,這一步有助於我們將它切割成幾個模組,然後再按下面的問題思考:
各個模組需要執行什麼任務
模組之間如何傳遞資料
模組之間如何傳遞資料如何呼叫模組中的資料
雖然比起直接入手去寫程式碼,收集和規劃需求又枯燥又無趣,但是如果這一點沒有做好,後面的調試工作就會特別繁瑣。如果我們能花點時間,設計出一個正確的程式流程和架構,那麼我們其實在寫第一行程式碼之前就等於已經成功了一半。
5.註解我們的程式碼。
如果你認為你的程式碼可能需要做個解釋,那就去註解它。每個函數都應該提前一兩行就先描述它的參數和回傳結果。比起告訴你what,註解應該說明的是why。還有記得更新程式碼的時候也要更新註解。
6.使用統一的命名規則定義變數。
這將有助於我們追蹤各個類型的變量,並且對每個變量的用途一目了然。這一條的好處可不只是方便我們打X = A+ B * C這麼簡單,它會讓我們的程式碼更方便調試和維護。目前普遍受歡迎的一種命名方法是匈牙利命名法,它採用的是類型前綴於變數的做法。例如,對於整體變量,我們可以使用intRowCounter,字串就是strUserName。無論你的命名規則是什麼都沒關係,只要保持一貫,並能簡單描述變數就好。
7.格式化編輯程式碼,程式碼結構視覺化。
例如,碰到條件語句(if、else等)和循環語句(for、while等)縮排程式碼。還有,可以在變數名稱和運算符號之間加個空格,運算符號指的是“+”、“-”、“*”、“/”,以及“=”(舉例,myVariable= 2 + 2)。這不但讓你的程式碼更直覺更優雅,還能讓我們的程式流程更加一目了然。
8.全面測試。 首先透過輸入我們期望的值來測試每個模組能否獨立運作。然後試著輸入一些可能但是很少見的值,繼續測試。這基本上能暴露所有隱藏的bug。測驗也有所謂的技巧,透過練習和實踐,我們誰都可以逐步建立起適合自己的技能。測試應包含下列情況:
極端值:正值用0和大於預期的最大值;文字用空字串,參數用null。
無意義的值。雖然用戶不大可能會輸入亂碼,但是我們自己無論如何先測試一下為好。
不正確的值。在除法中輸入0,或在預期是正數以及開平方根的情況下輸個負數。當輸入類型是字串的時候,輸入非數字,然後看看是否會被解析為數字值。
9.練習、練習、還是練習。
程式設計也會隨著時代的前進而不斷進步。所以總有新的東西需要我們學習,──甚至更有用、更重要──當然,總有一些內容值得我們溫故而知新。
10.減少需求改變的風險。
在現實的工作環境中,需求總是在不斷變化的。然而,如果前期我們對需求收集得非常全面,一開始的實施計劃就很有針對性,那麼後期因需求改變導致的計劃不周和雙方產生誤會的可能性就會小得多。
我們可以在開始寫程式碼之前,透過展示需求文件和實施計劃,以提高進程的清晰度。這將有助於確保我們的計劃是真正按照客戶的要求去完成的。
如果將專案比喻為一系列的里程碑,那麼一次只要完成一個就可以了。記住,在任何特定的時刻需要考慮的東西越少,那麼我們想得就越詳盡越完美。
11.由易到難,從簡入繁。
如果你的軟體複雜,那麼我建議你最好先從簡單的模組入手。例如,有這樣一個項目:請設計一個程序,要求能出現一個跟著滑鼠方向走的漸層圖形,並且還能根據滑鼠滑動速度改變形狀。
首先,設計一個正方形,寫一段能做到讓它跟隨滑鼠的程式碼,這樣就把運動追蹤問題先單獨拎出來解決掉了。當然這才是第一步。
接下來,將這個正方形的大小與滑鼠的速度相關聯,即解決了形狀隨速度而變的問題。
最後,創建你想要的實際形狀,並把這三個組件連接在一起即可。
運用這種方法自然而然地就編寫出來了模組化的程式碼。並且每個組件都有它自己獨立的功能。這對程式碼重複使用是非常有用的(例如,你完全可以在其他專案中應用第一步驟(用於實現滑鼠追蹤)的程式碼),並讓我們的程式更容易調試和維護。
免費領取LAMP兄弟連原創PHP視訊教學光碟/《細講PHP》精要版,詳情諮詢官網客服:
http://www.lampbrother.net
|