閱讀 Top 10 Concepts That Every Software Engineer Should Know 的簡單翻譯兼筆記.
好的 RD 了解並使用 Design Pattern,積極去 Refactor 程式碼和編寫測試程式,並讓一切事物保持簡單! 除此之外還有10個概念是我們必須要熟悉的.
Interfaces
- 現實生活中的問題 –> 系統內的模組
- 不要加進一個你覺得未來會很有用的方法.
- 不要害怕承認過去自己做的蠢事.
- 享受設計的過程.
Conventions and Templates
- 命名規則 和 程式樣版 是最簡單最有用也是”最被人忽視”的有用觀念.
Layering
- 相同概念的元件組成一個子系統.
- 整個系統就像是一座金字塔,由底層子系統慢慢建構上來.
- 系統內不會有互相依賴(迴圈)的情況發生(好萊塢 Pattern).
Algorithmic Complexity
- big O notation. Orz 我全部還給老師了!
- 以下為翻譯兼復習 囧rz
- 在串列中,用一個一個比對的方式會是 O(n).
- 在串列中,用 Binary Search 會是 log(n).
- 而將 n 的項目排列則是 n*log(n).
- 少用多層次的巢狀迴圈,而改用 Hashtable , list 或 單層巢狀迴圈.
Hashing
- 我們有很多的現成實作函式庫,讓我們可以把精力花在”判斷何時要使用 Hash” 以及 “微調參數提升 Hash 效率”這兩件事情上.
Caching
- 每一次打資料庫都是一件耗時的工作.
- 快取”時常需要產生並不太需要即時反應的結果”.
Concurrency
Cloud Computing
Security
Relational Databases
自己的心得:
寫程式的面向真的很多,要全部都會我看我自己這輩子是不可能了! 但如同原作者最後所述:
But a good craftsman still needs to know what tools to use, when and why.
做不成大師也要成為一個不錯的工匠! 就這樣!
0 則回應: