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