如果引用或轉貼,麻煩註明出處與本網誌連結,否則視為侵權。

2019年1月14日

如何精進程式設計能力

作者: 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專案開發與測試。

短詩 - 十七歲的青春在哪裡?

作者: Fred F.M. Wang (FW知識瑣記) 日期:20190113

十七歲的青春在哪裡?
在夜闌人靜時,在讀不完的書本裡。

十七歲的青春在哪裡?
在周末下午,在盡情奔跑 揮灑汗水的籃球場上。

十七歲的青春在哪裡?
在吉他歌譜裡,在彈唱著的校園民歌中。

十七歲的青春在哪裡?
在下課後 補習班內,在前座女孩的回眸一笑裡。

十七歲的青春在哪裡?
在日記本中,在青澀的詩句裡。

十七歲的青春在哪裡?
在內心深處,在對未來的熱情與夢想裡。

後記 : 在那個年代,升學率只有30%的大學聯考壓力下,十七歲的青春歲月,除了讀書,就剩吉他,籃球與日記可以讓自己從苦悶中得到一些抒解。 .. Fred F.M. Wang



2019年1月7日

賀! 本站正式超過50萬瀏覽人次

作者: Fred F.M. Wang (FW知識瑣記) 日期: 2019/1/7

2004年架站以來,寫寫停停,經過14年,瀏覽人次終於突破50萬人次。希望未來14年能夠有更多的時間,將自己的過去的知識,經驗與心得,持續整理,寫出更多的文章,分享給大家,朝百萬瀏覽人次邁進。