我之前曾說,閱讀軟件開發有關的書籍,是在你技能和事業上投資的好辦法。 但是哪些應該閱讀呢?而且該按照什么順序閱讀呢? 我已經編制了一份書單,我認為它能真正大幅提高你的能力。 我已經安排好它們的順序,分為3個階段,我相信這種順序是最有成效的。這份書單主要是為那些剛剛起步的開發人員編寫的,當然專業的開發者也可參照,它對周圍那些想獲得提高的人來說都是相當有用的。
首先,你應該關注的是提高書寫干凈,毫不含糊的,可維護代碼的能力。 下列書籍應該大大有助于您:
測試驅動開發(肯特·貝克)
重構(馬丁·福勒)
實現模式(肯特·貝克)
代碼大全:第二版(史蒂夫·麥康奈爾)
Working Effectively With Legacy Code(Michael Feathers)
Clean Code (Robert C. Martin)
上述的讀書順序可能使有些人感到驚訝,但我敢打賭,這是最有效的閱讀順序。
當你學會了如何書寫偉大的代碼,你應該開始以簡潔的設計和架構為重點。 這并不是說,你應該只集中于設計和架構,但你越了解它,你會變得越好:
設計模式(Gang Of Four)
企業應用架構模式(馬丁·福勒)
領域驅動設計(埃里克·埃文斯)
企業集成模式(格里高·Hohpe,鮑比·沃爾夫)
Release It! Design and deploy production-ready software(Michael T. Nygard)
97 Things Every Software Architect Should Know (edited by Richard Monson-Haefel)
這一階段可能值得說明的是在這部分列出的一些圖書中可能是有點'爭議'的。 如果您已經閱讀了第一階段的書籍,那么你應該有能力用你自身的觀點看待第二階段的這些書籍。 你會了解到,你不應該僅僅仿照那些模式,但了解它們的存在肯定是一件好事。
最后,您需要了解如何在團隊環境下工作并理解團隊的動力。 下面的書籍不是具體介紹團隊中的工作,但包含了眾多的智慧和洞察力,這一定會幫助您在專業的團隊環境中工作:
極限編程,第二版(肯特·貝克)
The Art Of Agile Development (James Shore & Shane Warden)
人月神話,20周年紀念版(弗雷德里克·布魯克斯)
這本書可能也需要一點說明。 我并不是說你應該做極限編程。 但你了解它肯定不會有害處,至少你應該在你認為有意義的時候去嘗試采用這種做法。 你并不會真的需要去采用所有的做法(雖然你這樣做會獲得額外的好處,或者至少假裝這樣做),但它們中的一些,每個人都應該至少了解一下。
所以就是這樣了...嘗試用上述方式閱讀這些書,不要忘了以后感謝我
原文信息
標題:A Reading Guide To Becoming A Better Developer
來源:http://davybrion.com/blog/2009/11/a-reading-guide-to-becoming-a-better-developer/?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+davybrion+%28The+Inquisitive+Coder%29
via 譯言 | 翻譯者 levyfan