全世界只有不到 1% 的人會朝著自己的夢想行動
你真是個特別的人
國外知名網站stack overflow上有一個問題調查: 哪本書是對程式設計師最有影響、每個程式設計師都應該閱讀的書?調查進行到第二年時,就吸引了153,432人訪問,讀者們共推薦了478本書(還在增加),其中最火的一本書《Code Complete》被頂了1306次。
來源 Ⅰ IT外刊評論
對很多程式設計師哥哥來說,最關切也是最核心的職場問題之一,大約就是如何快速提升自己了。
那麼,從程式設計師新手到高手,要經歷哪些階段的學習呢?又要具體學習哪些內容呢?每個階段的重點是什麼呢?
作為一個程式設計師,你一定有興趣看看這些書,10本書籍從編碼的基礎概念,程式設計師的實踐原理,軟體設計模式等一系列課題,幫助程式設計師的全面成長,另外再增加四本敏捷書籍給敏捷同學解解饞。這些書籍有些同學看完後,或許可以了解一些概念,但只有實際遇到問題、解決過問題之後,才能真正的理解這些概念。
對於剛進入這個行業的新人,我們應該知道:很多時候,你在學校裡很難學到真正工作中需要的知識,畢業後能幫助我們勝任工作的老師就是這些優秀的書籍。
最火的程式設計師書籍11本 •
第一名:1306票
《Code Complete (2nd Ed) by Steve McConnell》,
中文版《代碼大全(第二版)》,
兩屆Software Jolt Award震撼大獎得主!
第二名:1161票
《The Pragmatic Programmer》,
中文版《程式設計師修煉之道》
第三名:689票
《Structure and Interpretation of Computer Programs》,
中文版《電腦程式的構造和解釋》
第四名:557票
《The C Programming Language》,
中文版《C程序設計語言》
第五名:472票
《Refactoring: Improving the Design of Existing Code》,
中文版《重構:改善既有代碼的設計》
第六名:472票
《Introduction to algorithms》,
中文版《算法導論》
第七名:430票
《The Mythical Man-Month》,
中文版《人月神話》
第八名:426票
《Design Patterns》,
中文版《設計模式》
第九名:386票
《The Art of Computer Programming(First Volume Hardcover)》,
中文版《電腦程式設計藝術(第一卷)》
第10名:353票
《Compilers: Principles, Techniques, and Tools 》,
中文版《編譯原理》
第11名:329票
《Head-First Design Patterns》,
中文版《Head First 設計模式》
當然了,這裡的排名並不具有什麼權威性,但絕對可以說都是好書,當然,除了這11本推薦次數排名靠前,其實還有很多書雖然票數不是那麼多,但大家估計都耳熟能詳,比如《Effective C++》(中文版《Effective C++:改善程序與設計的55個具體做法》),《Clean Code》(中文版《代碼整潔之道》),《Effective Java》(中文版《Effective Java中文版(第2版)》等 。
在過往的文章中,通過搜集國外網站,我們也給敏捷行動派的小夥伴們推薦了不同的書籍,在平時也會推出不同的送書福利給到大家,小夥伴多多關注哦!
除了程式設計師最受歡迎的以上書籍外,小派再給敏捷開發的程式設計師哥哥們推薦4本必備書籍,每個信仰敏捷開發的程式設計師都應該讀一下這些書籍,因為這幾本書表達了與我們相同的信念,具有極豐富的價值。而且這些書籍都是很常規且通用的,並不局限在某一領域。
記得有位先哲曾說過:一種程式語言的重要性並不在於語言本身,而是在於這種語言體現出來的編程思維模式。所以說,並不是你用到的書才去讀,要讓讀書成為一種習慣!
敏捷開發書籍4本 •
1. 《Implementing Lean Software Development: From Concept to Cash》
Mary and Tom Poppendieck, 2006 (amazon)
較薄但卻極其豐富的一本書,對精益(Lean)軟體開發思想及其各方面做了精彩的描述。難以置信這本書裡包含了如此多有價值的觀點,它不僅向我們傳遞了精益軟體開發的可行性,也向我們介紹了如何在實踐中實現它。
關鍵詞:消除浪費,延遲決定,可持續性節奏,提供質量
2. 《Running Lean: Iterate from Plan A to a Plan That Works》Ash Maurya, 2012 (amazon)
敏捷開發倡導者相信,精益創業方法不僅是針對新公司,對於現有的公司也是激發革新創造的正確方法。而革新創造是我們前進的動力,能幫助我們在日趨激烈的市場競爭中生存。如果你已經對什麼是精益創業有基本的了解,那這本書正適合你。跟Eric Ries的《The Lean Startup》相反,這本書更有實踐價值,它介紹了很多在實踐中如何做假設前提測試的方法。
關鍵詞:用戶中心,測量,面談,消除浪費,未知方案
3.《 代碼整潔之道(Clean Code)》Robert C. Martin (Uncle Bob), 2008 (amazon)
對於任何一個有上進心的軟體專業人士來說都是一本非常重要的書,它能讓我們認識什麼是好的代碼,如何寫出好的代碼。它會影響你寫代碼的方式。每個人都聽說過方法、只做一件事、有自我說明的名稱、測試驅動等。這本書對這些都做了說明,並解釋了為什麼要這樣。
關鍵詞:單一責任原則,TDD,YAGNI, DRY
4. 《Working Effectively with Legacy Code》Michael Feathers, 2004 (amazon)
任何老代碼維護人的聖經。即使是對於那些不受老代碼影響的項目也能從此書中受益。對那些不存在歷史遺留代碼的開發工作,這本書中的重構和設計思想也值得你學習。這本書的主題是重構和測試。了解一段複雜的代碼,安全地優化它,修改它。雖然這本書有點老,但它的價值不減。書中介紹的很多方法、技巧和建議,每個程式設計師都應該掌握。先淺嘗一下:
我還沒有對這些代碼有足夠的了解,不能去修改它,這個應用結構不清,這個類太大,我可不想它再有任何的膨脹。
也許這本書沒有必要每頁都細讀,但你需要對它說的是什麼有必要的了解,這很重要,當有一天你處在某個處境中因這些智慧而受益時,你會想起這些這些智慧哪裡來的,在哪能找到它們。
快速閱讀技巧 •
人變聰明的一個關鍵方法就是多讀書。
但只讀還不夠。只有日積月累的知識沉澱與自我感悟,才能夠讓我們的大腦打開新的視野,我們要運用一些技巧,讓我們的閱讀更深刻,讓書裡的知識留在我們腦子裡更久。
對你有用:
敏捷黑天鵝:一萬小時陷阱
據說讀完這30本書,就可以成為一名合格的SM了!