技術向前的步伐比人類歷史上的任何時候都要走得更快顾复。用不了幾個月奏瞬,就會有新的編程語言和工具問世枫绅,彌補現(xiàn)有語言、工具和方法的缺陷丝格。
事實上撑瞧,許多偉人都已經(jīng)遇到過差不多的問題,并指出了解決這些問題的最佳途徑显蝌。而這些方法和解決方案都收錄在一些超棒的書籍中预伺。
開發(fā)者們可以從下面列出的書中選擇幾本來閱讀。
《程序員修煉之道》
絕對是書籍中的瑰寶曼尊!這不是常規(guī)地建議你編碼酬诀,編碼還是編碼的編程書。事實上骆撇,它并不限定于某種特定的編程語言:在這本書中的智慧適用于所有編程語言瞒御。
這本書對許多有趣的領域都提出了真知灼見,如各種探索性編程神郊,在代碼中編碼肴裙,從模型中分離的觀點趾唱,昂貴的工具并不產(chǎn)生更好的設計,開發(fā)一個偉大的團隊蜻懦,管理預期甜癞,避免知識的重復等。
這本書不僅可以幫助改變編碼的習慣宛乃,還可以改變你作為一個程序員的性格悠咱。它充滿了關于如何改進自己和代碼的實用建議。
還有一個總結了提示和檢查清單的小冊子征炼。
《人月神話》
非常經(jīng)典析既,被奉為軟件行業(yè)的圣經(jīng)。第一次出版于 1970 年谆奥,但是里面的內容比起以前眼坏,可能更適用于現(xiàn)在!
有聽說過這些話嗎雄右?它們均摘自于這本書空骚!
“所有的程序員都是樂觀的:一切都會順利纺讲±奕裕”
“添加人手到一個延遲的項目中只會導致完成得更慢“旧酰”
“生一個孩子總是需要九個月的時間逢渔,不管安排多少個女性∠缋ǎ”
“一個煎蛋肃廓,承諾在兩分鐘內完成,但如果兩分鐘后還是沒有準備好诲泌,那么客戶有兩種選擇——等待或吃半熟品盲赊,軟件客戶也只能這樣選擇》笊ǎ”
不幸的是哀蘑,一年又一年地過去,而我們總是在軟件開發(fā)中犯著相同的錯誤葵第。這本書是每一個項目經(jīng)理和開發(fā)人員都必須閱讀的绘迁。
《代碼整潔之道》
有沒有在看他人代碼的過程中,不由自主地發(fā)出“哦卒密,天哪缀台,這是什么?”的經(jīng)歷哮奇,那么這個人肯定沒有閱讀過《Clean Code》膛腐。
這是一本關于軟件工藝史詩般的書籍睛约。這本書不僅會告訴你如何編寫好的代碼,而且還提供了軟件開發(fā)的高效途徑哲身。照著去做的話痰腮,必將改變你的工作前景。
書中描述了編寫干凈代碼的原則律罢、模式和做法膀值。里面一些關于整潔代碼的幾個案例都是開發(fā)人員寶貴的經(jīng)驗教訓。
請注意误辑,雖然在這本書中的所有實例都是關于 Java 的沧踏,但是從中學到的經(jīng)驗教訓可以應用于任意的編程語言。
這篇文章所列出的這些書籍中巾钉,這本書出版得比較晚翘狱,所以可能更能引起年輕開發(fā)人員的共鳴。
《編碼整潔之道》
此列表中 Rob Martin 的第二本書砰苍。建議你在讀了《Clean Code》后潦匈,再讀這本書∽迹《Clean Code》講的是代碼茬缩,而這本書是關于“Coder”。
該書探討了一些程序員經(jīng)常忽視的主題吼旧。
1凰锡、成為專業(yè)的程序員意味著什么?
2圈暗、如何打磨自己成為一個真正的軟件工匠
3掂为、沖突和緊張的日程處理
4、如何管理你的時間员串?如何擴張技能勇哗?
5、何時說“不”
6寸齐、避免倦怠
7欲诺、..以及更多。
你可能并不總是同意作者的觀點访忿,但它提供了良好的精神食糧瞧栗。這可能并非你所期望的,但可能正是你所需要的海铆。
《重構》
不管你怎么努力迹恐,除非改進它,否則卧斟,你交付的代碼不會是最優(yōu)化的殴边。有時即使工作正常憎茂,也會實施重構。
這本書從重構的通用原則說起:為什么以及什么時候重構锤岸,如何處理有關重構的管理等等竖幔。然后講述了如何實現(xiàn)改進的過程。
1是偷、代碼的設計缺陷指標是什么拳氢?
2、如何構建類蛋铆、方法和其他的邏輯塊馋评?
3、單元測試
4刺啦、如何將功能從一個對象移動到另一個留特?
5、重構工具
6玛瘸、..以及更多
這是改進現(xiàn)有代碼必讀的書蜕青。請注意,所有的代碼示例用的都是 Java糊渊,但現(xiàn)在復制起來也很方便右核!
《修改代碼的藝術》
我們都必須工作于一些我們痛恨的東西——對于大多數(shù)人而言,遺留代碼真是令人頭痛無比再来。
如何修改遺留代碼蒙兰?如何識別需要重構的代碼部分磷瘤?如何破壞重構代碼之間的依賴關系芒篷?如何確保新的代碼能完成預期的工作?如何一次一小步地重構遺留代碼采缚?
在這本杰出的書中针炉,只是回答了一些關鍵的問題。如果非要用一句話總結這本書的精華扳抽,那就是“寫單元測試篡帕,重構代碼,確保測試都通過贸呢×眨”
遺留代碼不是一個神話,它是一個活著的傳奇楞陷!在軟件行業(yè)中沒有什么比遺留代碼更能經(jīng)受測試的考驗了——Deepak Karanth
《代碼大全》
在一個龐大的作品中怔鳖,如果你想要閱讀所有關于編程結構和最佳實踐的內容,那么這是本必讀書固蛾。真正的百科全書式書籍——其最新版本有多達 960 頁结执!不要被這本書的厚度嚇倒度陆,你可以按照自己的節(jié)奏閱讀。最后献幔,你會慶幸你閱讀了這本書懂傀。
書中解釋了軟件開發(fā)的每個方面。從代碼結構蜡感,代碼格式化蹬蚁,到變量、方法和類的命名郑兴,再一路說到管理一個團隊缚忧,對所有一切都提出了實用的建議。
提供了覆蓋特定主題的豐富參考和補充材料杈笔,這些也非常值得一讀闪水。
只有一小部分的軟件開發(fā)人員會讀這本書,所以如果你也是他們中的一個蒙具,那么你就有了優(yōu)勢球榆。通過閱讀這本書,你就可以獲得許多年寶貴經(jīng)驗禁筏。
《Head First設計模式》
看上去最不像技術的編程書籍持钉!每個頁面都包含涂鴉、圖片以及其他一些吸引眼球的東西篱昔∶壳浚可能給人的印象是一本閱讀起來很輕松的書,但事實上它會討論編程的一些核心主題——設計模式州刽。
這本書雖然沒有覆蓋所有存在于這個世界的模式空执,但是會涵蓋所有你可能需要用于解決現(xiàn)實問題的模式。它將幫助你創(chuàng)建功能性的穗椅,優(yōu)雅的辨绊,可重用的和靈活的軟件。每個模式的優(yōu)劣也被明確指出匹表。大多數(shù)關于設計模式的書籍談論的是如何實現(xiàn)模式门坷,但這本書的作者同時還解釋了為什么以及怎么樣。
最新版本包括針對 Java 8 的更新——主要是 Lambda袍镀。
《人件》
很棒的一部作品默蚌。這本書并非關于編程。這是一本有關管理和激勵程序員的書籍苇羡。開發(fā)人員也應該閱讀绸吸。很多時候,開發(fā)人員,尤其是那些沒有經(jīng)驗的開發(fā)人員惯裕,不理解管理的思維過程温数。
軟件開發(fā)是一個創(chuàng)造性的過程。但是蜻势,大多數(shù)管理人員把它當作是流水線撑刺。開發(fā)人員被視為是機器上可替換的齒輪零部件。管理人員普遍性地會給予一個緊迫的時間期限握玛,當作促進積極性唯一途徑够傍。他們對開發(fā)人員的工作不感興趣,甚至可悲的是挠铲,他們也不會試著去理解開發(fā)人員或他們自己的工藝冕屯。
如果你想成為一個想要的是質量,而不僅僅是數(shù)量的管理人員拂苹,那么請立刻閱讀這本書安聘!
作者解釋了管理者應該如何以一種可持續(xù)的方式使他們的軟件開發(fā)團隊認識到他們的潛力。
《Soft Skills》
同樣的瓢棒,這也不是一本關于編程的書浴韭。但是,卻是每一個程序員都應該閱讀的書脯宿。
這本偉大的書著重于管理開發(fā)人員生活的“其他”方面念颈。可以是你生活的每一個方面——事業(yè)连霉、生活榴芳、身體、頭腦跺撼,以及不管你相信與否——還有靈魂窟感。
作者他自己也遵循這些技術,并且獲得了成功财边。他的網(wǎng)站上說肌括,他能夠在他 30 出頭的時候放棄他的日常工作。該作者將他的生活經(jīng)驗整理成整齊的酣难,主題內容為 Career、Marketing yourself黑滴、Learning憨募、Productivity、Finances, Fitness 和 Spirit 的短章袁辈。每個篇章都很短菜谣,可以在休息時間閱讀,非常方便。
你會是一個更加滿意和快樂的人尾膊,如果你按照這本書的建議去做的話媳危,那么你將成為一個更令人滿意和幸福的人和程序員。