普通的軟體工程師實際與最優秀的軟體實際差距甚大—多半比其他學科中的這種差距還大。因此,傳播優秀實際經驗的工具十分重要。 -Fred Brooks
用程式去創造適合開發的語言環境(programming into a language),而不是用語言現有的環境來設計程式(programming in a language),不要受限於語言的限制。 -Steve McConnell
我這種統計出身的coder差距就更大了,統計系對程式語言的教學較少,同時我是由R起家的,再加上一路工作經驗都沒有前輩帶過,說我是毫無系統的程式設計師並不過份。藉由這本書我獲得許多大師的經驗與遵從的準則,更理解軟體設計應該注意的,還有那些我還沒遇到但前人已經有解決方案的問題。
除了程式開發者以外,我認為這本書也適合PM或是管理者閱讀,因為程式設計的問題圍繞著:
*problem definition → requirements development → construction planning → software architecture/high-level design → detailed design → coding and debugging → unit testing →integration testing → integration → system testing → corrective maintenance
*相較於programming,coding有種"把已經存在的設計機械化的翻譯成電腦語言"
*建構與設計很重要
*隱喻是一種啟示(heuristic),而非演算法(algorithm)