程式設計師應讀的十本好書
“第一名 Code Complete,1289票,教你怎麼寫乾淨的程式。中文翻譯版連結在此。
第二名 Pragmatic Programmer,1138票,簡體版叫做"程序員修煉之道︰從小工到專家"。
第三名 Structure and Interpretation of Computer Programs,672票,這本有夠貴,要六千多台幣。不過,線上有免費全文版本在這裡可以線上閱讀。
第四名 The C Programming Language,541票,大名鼎鼎的C語言聖經。
第五名 Introduction to Algorithms,463票,StackOverflow上面這麼來簡述各聖經的訂位:Code Complete教你正確地寫程式;人月神話教你怎麼正確管理專案;Design Patterns教你怎麼正確設計;而這本書是教你怎麼想演算法。
第六名 Refactoring: Improving the Design of Existing Code,459票,中文譯本在這裡。
第七名 The Mythical Man-Month 人月神話,418票,中譯本從這裡購買。這是軟體專案管理的經典書籍。
第八名 Design Patterns,415票,中文譯本在這,不過似乎絕版了。
第九名 The Art of Computer Programming,378票,數冊可做參考書。這書簡稱為TAOCP,作者是Stanford大學的Knuth教授,也就是他發明了大名鼎鼎的TeX排版系統。
第十名 Compilers Principles, Techniques, and Tools,346票,可帶你進入compiler的奇幻世界,書的封面可是有一隻噴火龍的。”
.
Thursday, September 13, 2012
Stack Overflow:程式設計領域的問與答網站
Stack Overflow:程式設計領域的問與答網站
Stack Overflow
"Stack Overflow是專門設計給程式設計師的問答平台,您可以想像他就是一個專門開給程式設計師的Yahoo!知識+,在上面的各種問題都與程式設計相關。「Stack Overflow」這個名字也相當有創意,學過程式設計的人或許都有機會遇到這樣的錯誤訊息,因此網站的品牌設計似乎在告訴人們:「又遇到Stack Overflow了嗎?來這裡尋求解答吧!」"
.
Stack Overflow
"Stack Overflow是專門設計給程式設計師的問答平台,您可以想像他就是一個專門開給程式設計師的Yahoo!知識+,在上面的各種問題都與程式設計相關。「Stack Overflow」這個名字也相當有創意,學過程式設計的人或許都有機會遇到這樣的錯誤訊息,因此網站的品牌設計似乎在告訴人們:「又遇到Stack Overflow了嗎?來這裡尋求解答吧!」"
.
Friday, September 7, 2012
Eric Sink 談小軟體公司的創業經營 - People
Eric Sink 談小軟體公司的創業經營 - People
"你應該找多才多藝的 developer,而不要找只寫 code 的 programmer。何謂作者定義的 developers,就是除了 coding 跟 fix bugs(幸運的話) 之外,還需要做以下事情 :
- Spec documents
- Configuration management
- Code reviews
- Testing
- Automated tests
- Documentation
- Solving tough customer problems"
.
寫註解的要點
"註解是用來寫目的、限制條件跟預期結果等,而不是寫出以下這些程式一行行會做些什麼"
"你要做的事情應該是讓 source code 本身容易了解,而不是透過註解。透過正確的變數命名、好的空白間隔、邏輯分離清楚的執行路徑等手法,我們很少需要在函式裡面註明這些程式在做什麼,我自己的經驗除非是有參考外部的程式碼或複雜演算法,我會多註明參考來源(網址)。"
"Class, module, method 前面是個寫註解的好地方,而且每個語言都有工具(例如 RDoc, Javadoc… 等)可以幫忙從程式碼中整理出好看的純文件,這些說明通常有:
- Purpose 目的
- Requirements(pre-conditions) 預期的輸入是什麼
- Promises(post-conditions) 什麼樣的輸入,會有什麼樣的預期輸出
- Exceptions: 有哪些例外(exceptions)情況"
“寫程式的 edit/build/test 週期要短,加上不斷的重構改進,才會寫出容易閱讀、容易測試的小函式和高內聚力的類別,而不是一大沱複雜無法掌握的程式。”
請參考程式設計風格
.
Thursday, September 6, 2012
Subscribe to:
Posts (Atom)