提高編程技能的11個建議

來源:互聯網
上載者:User

標籤:style   http   使用   資料   for   ar   問題   代碼   

  不說廢話,直接上步驟。

  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 字元串,參數用null。

  無意義的值。雖然使用者不大可能會輸入亂碼,但是我們自己無論如何先測試一下為好。

  不正確的值。在除法中輸入0,或者在預期是正數以及開平方根的情況下輸個負數。當輸入類型是一個字串的時候,輸入非數字,然後看看是否會被解析為數字值。

  9.練習、練習、還是練習。

  編程也會隨著時代的前行而不斷進步。所以總有新的東西需要我們學習,——甚至更加有用、更加重要——當然,也總有一些內容值得我們溫故而知新。

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

  在現實的工作環境中,需求總是在不斷變化的。然而,如果前期我們對需求收集得非常全面,一開始的實施計劃就很有針對性,那麼後期因需求改變導致的計劃不周和雙方產生誤會的可能性就會小得多。

  我們可以在開始寫代碼之前,通過展示需求文檔和實施計劃,以提高進程的清晰度。這將有助於確保我們的計劃是真正按照客戶的要求去完成的。

  如果將項目比作是一系列的裡程碑,那麼一次只要完成一個就可以了。記住,在任何特定的時刻需要考慮的東西越少,那麼我們想得就越詳盡越完美。

  11.由易到難,從簡入繁。

  如果你的軟體複雜,那麼我建議你最好先從簡單的模組入手。例如,有這樣一個項目:請設計一個程式,要求能出現一個跟著滑鼠方向走的漸層圖形,並且還能根據滑鼠滑動速度改變形狀。

  首先,設計一個正方形,寫一段能做到讓它跟隨滑鼠的代碼,這樣就把運動追蹤問題先單獨拎出來解決掉了。當然這才是第一步。

  接下來,將這個正方形的大小與滑鼠的速度相關聯,即解決了形狀隨速度而變的問題。

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

  運用這種方法自然而然地就編寫出來了模組化的代碼。並且每個組件都有它自己獨立的功能。這對代碼重用是非常有用的(例如,你完全可以在其他項目中應用第一步驟(用於實現滑鼠跟蹤)的代碼),並讓我們的程式更容易調試和維護。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.