作者: Fred F.M. Wang (FW知識瑣記) 日期:20190114
下面分享一些精進程式設計能力的方法,由第1點開始,多寫,多看,多學習,一步一步地提升自己程式設計能力。
1. 看看一些程式設計典範的書籍。
參考書籍 :
. Clean Code by Robert C. Martin (中譯 : 無瑕的程式碼:敏捷軟體開發技巧守則)
. Working Effectively with Legacy Code by Michael C. Feathers (中譯: 修改代碼的藝術)
. Refactoring: Improving The Design of Existing Code by Martin Fowler, Kent Beck, John Brant,... (中譯:重構─改善既有程式的設計)
. Beautiful Code: Leading Programmers Explain How They Think by Andy Oram, Greg Wilson(中譯:美麗程式-頂尖程式設計師的思考方式)
. Code Complete by Steve McConnell (中譯:軟體建構之道)
2. 反覆練習是不二法門,發現問題,立即搜尋解答,或於Stackoverflow中詢問。
3. 實際開發一個專案,找一個實用的案例,開發一個系統。
4. 了解物件導向設計以及建立模組化的能力,採用Design Patterns,學習MVC等Frameworks。
. 參考書籍 : 深入淺出-設計模式
. 至少學會一種Framework, 如Java的Sping, Struts等,PHP的CodeIgniter, Laravel等。
5. 了解各種資料結構與資料庫處理的程式設計方法。
. 資料結構除了一般數字,文字外如陣列(Array),佇列(Queue),序列(List),串列(Linked List),堆疊(Stack), 映射(Mapping),集合(Set)等與相關的操作更需要熟悉。
. 資料處理方面熟悉SQL是必要的能力
6. 學習一些演算法的程式設計,如各種排序法,搜尋法等。
參考書籍 : 打下好基礎:程式設計與演算法競賽入門經典 精選程式設計競賽全真試題及習題解析
7. 養成先思考再下手寫程式的習慣。
. 包括畫流程圖,決策樹,接近自然語言描述的虛擬碼,UML各種圖形等都有助解析問題協助轉化為程式語言。
8. 進一步了解不同程式語言的異同優劣與用途。
. 包含C/C++, Java, VB, Python, PHP等流行的程式語言。
9. 保持求知慾,持續學習新的程式語言,新的資料結構,新的演算法,新的Design Patterns。
10. 學習使用工具,包含編譯,除錯,測試,程式品質分析,最佳化等工具。
. 魔鬼藏在細節裡,臭蟲藏在程式裡,越龐大的程式,越需要工具協助。
. 好手能快速地開發程式,高手能快速地找到程式的問題,快速除錯。
11. 參加程式設計社群,參與討論與貢獻經驗。
12. 參加Open Source專案開發與測試。
沒有留言:
張貼留言
歡迎提供意見, 謝謝 (註 : 留言經過版主審核通過才會發布)