1. 程式人生 > >你真的會自學程式設計嗎!-- 給想學習的開發的人

你真的會自學程式設計嗎!-- 給想學習的開發的人

       很多剛剛步入程式設計學習的人都會有一個疑惑,那就是如何學習程式設計,我相信千人千言,不同的經歷造就不同的學習方法。然而我想說的並不是理論的對與錯,我想說的是學校不教的方法論。
       你真的會自學程式設計嗎?!正如我們的題目所描述的這句疑問句,我們在夜深人靜的時候躺在床上思索一翻,看看我們能告訴自己,知道多少!歡迎吐槽,歡迎分享。

正文開始:(痛苦的旅程即將開始!程式設計)
  1.  單一職責原則:函式的建立是為了處理邏輯,然而邏輯應儘量的單一與簡單,所以當你開始學習程式設計的時候,請讓你的函式只做一件事。(低耦合、高內聚)
  2.  清晰的標記並對其你的輸出。
  3.  為你的程式進行註釋,在程式的上面描述:名稱、時間、事件、輸入與輸出以、邏輯描述資訊,注意程式碼的拼寫,減少語法錯誤及拼寫錯誤。
  4. 程式碼縮排不要少於三個空格。
  5. 程式碼行與行之間使用垂直對其方式書寫,除非他們之間存在條件關係。
  6. 不要使用所學語言的關鍵字或者內建函式名稱作為你的函式命名或檔案命名。
  7. 每次完成程式碼編寫,務必努力嘗試程式碼重構,盡力使自己的程式碼簡介易懂,這是一項學習程式設計中的藝術修行之旅。
  8. 逐步細化函式呼叫程式的工作。將main()函式限制為呼叫其他函式。在簡短的程式中,可以逐步新增初始化和一些輸出行的主要功能。
  9. 編寫文件化程式碼(在程式碼上方新增描述性識別符號,通常是“動詞-物件函式名”),減少非必要性描述內容。避免使用過度簡化的識別符號來作為形參。
  10. 程式中內嵌除錯程式碼,列印執行時資訊,通過核心邏輯資訊監視,保證新邏輯不斷新增。
  11. 避免使用幻數,為了防止今天知道含義,明天猜測含義的情況出現,請使用明確的標識定義特定意義數字。例如:0x01。
  12. 儘量避免全域性變數,除非是作為常量在程式中被定義適用。
  13. 不要寫那些自認為聰明的程式碼(那些無法快速理解的程式碼),這樣的程式碼不如簡單的邏輯程式碼更有價值。
  14. 以程式的記憶體使用率和程式碼執行速度為評判標準,選擇程式碼的可讀性。
  15. 學習防禦式程式設計,採用預防及捕獲程式碼(斷言、錯誤陷阱、try/catch以及列印中間數值等方法),只是別過頭了!
  16. 測試每一個關鍵函式的完整性,仔細思考未測試程式碼,防止程式碼缺陷。
  17. 為程式中引入的複雜演算法時,考慮在程式碼實現之前優先建立簡單的測試case進行實現及測試,不要盲目實現程式碼。
  18. 在沒有完成當前任務之前,不要開始新的任務,因為思維切換成本很高。
  19. 編寫程式碼之時,需要全身心投入,避免被各種干擾因素打亂你的思維邏輯。因為想再次沉浸入開發狀態需要時間開銷( 除非你想靠別人) 。
  20. 將程式碼儲存在多處,防止程式碼丟失(儘量同時使用本地儲存與雲端儲存)。
  21. 養成良好的程式碼編寫習慣,保持每週程式碼書寫,主動推動自己學習、實踐。
  22. 像高手學習,儘量融入他們的討論中,把握每一次學習的機會。
  23. 多讀讀別人寫的程式碼,模仿優秀的程式碼案例。比如優秀的開原始碼。
  24. 學習程式設計工具的使用,不要拘泥於工具的比對,要以實用為第一要務,初期多敲程式碼,後期使用IDE可以更加輕鬆工作。
  25. 定期回顧自己所寫的程式碼,不斷嘗試優化原有解決邏輯,不斷迎接新的問題挑戰。
  26. 努力避免程式碼抄襲,多思考,提煉自己的思維抽象能力,實踐問題解決方案。
  27. 不要讓成績或外界活動破壞你的學習心態。你不是為學校,而是為自己負責任的學習。