前言

軟體業沒有什麼是絕對正確的,許多準則、方法論總是需要因時因地做些調整。整理這些筆記,一方面對自己的所見、所聞、所想留個記錄;一方面提供我的想法、還有過去在團隊中討論過的議題,給團隊共事的同仁們參考,也是未來再溝通的基礎。

建議書單

  • 一般 Coding

    在個人練習、學校教學與正式產品的開發團隊間,對於程式碼的可維護性要求,是最大的差別。 以下幾本書應該可以做為參考:

    • Clean Code(無瑕的程式碼)
    • Refactoring (重構-改善即有程式的設計)
    • The Art of Readable Code(易讀程式之美學)
  • Java

    如果要認真的準備 JAVA 相關證照,以下書籍應該有很大的幫助。實務上,越了解語言本身的特性,也越不會寫出令他人摸不著頭腦的程式。

    • Effetive Java 3rd Edition
    • Java Puzzlers
    • Java 8 Lambdas:Pragmatic Functional Programming
  • Design patterns

    如何站在巨人的肩膀上檢視整體系統?Design patterns 讓我們學習他人的成功經驗;Anti patterns 有助於我們識別出那些不該產出的程式/架構,就像 Refactoring 所說的壞味道。當然,在如今的環境下,許多 PATTERN 都已經被包裝為 framework/library 成品。但能了解其理念沿革,才不易誤用。

    • GoF:Design Patterns (物件導向設計模式)
    • Core J2EE Patterns
    • Modern Java EE Design Patterns
    • Ajax 設計模式
    • Anti patterns ....
  • 資料結構與演算法

    對於資工、資科本科系的學生,這兩門課應該都是必修。但現今自學程式的人很多,畢業後把這些課程內容都還給老師的人也不少。很多內容的確在工作上可能用不到,或者不用自行實作(與Design patterns一樣),我也不覺得所有東西都要最佳化,但至少要能辦別自己程式的時間、空間複雜度如何,不要寫出耗費太誇張的實作成品。必要時,也應該能設計&實作一些結構,為不同的業務需求找到通解。

    • 暫時沒有推薦書籍
    • 沒有家累的話,有閒刷刷 https://leetcode.com/ 上的題目也不錯。

results matching ""

    No results matching ""