程序員需要讀哪些書籍?

如果你是一個程序員, 除了編碼之外,你還需要大量的閱讀。今天我要為大家介紹幾本值得一讀的書,包括《The Pragmatic Programmer》,《The Mythical Man-month: Essays on Software Engineering》和《Clean Code: A Handbook of Agile Software Craftsmanship》。

《The Pragmatic Programmer》

絕對是書籍中的瑰寶!這不是常規(guī)地建議你編碼,編碼還是編碼的編程書。事實上,它并不限定于某種特定的編程語言:在這本書中的智慧適用于所有編程語言。

這本書對許多有趣的領(lǐng)域都提出了真知灼見,如各種探索性編程,在代碼中編碼,從模型中分離的觀點,昂貴的工具并不產(chǎn)生更好的設(shè)計,開發(fā)一個偉大的團隊,管理預(yù)期,避免知識的重復(fù)等。

這本書不僅可以幫助改變編碼的習慣,還可以改變你作為一個程序員的性格。它充滿了關(guān)于如何改進自己和代碼的實用建議。

還有一個總結(jié)了提示和檢查清單的小冊子。

《The Mythical Man-month》: 關(guān)于軟件工程的散文集

非常經(jīng)典,被奉為軟件行業(yè)的圣經(jīng)。第一次出版于1970年,但是里面的內(nèi)容比起以前,可能更適用于現(xiàn)在!

《Clean Code》: 敏捷軟件工藝的手冊

這是一本關(guān)于軟件工藝史詩般的書籍。這本書不僅會告訴你如何編寫好的代碼,而且還提供了軟件開發(fā)的高效途徑。照著去做的話,必將改變你的工作前景。

書中描述了編寫干凈代碼的原則、模式和做法。里面一些關(guān)于整潔代碼的幾個案例都是開發(fā)人員寶貴的經(jīng)驗教訓。

請注意,雖然在這本書中的所有實例都是關(guān)于Java的,但是從中學到的經(jīng)驗教訓可以應(yīng)用于任意的編程語言。

這篇文章所列出的這些書籍中,這本書出版得比較晚,所以可能更能引起年輕開發(fā)人員的共鳴。

《The Clean Coder》:專業(yè)程序員的行為守則

此列表中Rob Martin的第二本書。建議你在讀了《Clean Code》后,再讀這本書?!禖lean Code》講的是代碼,而這本書是關(guān)于“Coder”。

《Refactoring》:改善已有代碼的設(shè)計

不管你怎么努力,除非改進它,否則,你交付的代碼不會是最優(yōu)化的。有時即使工作正常,也會實施重構(gòu)。

這本書從重構(gòu)的通用原則說起:為什么以及什么時候重構(gòu),如何處理有關(guān)重構(gòu)的管理等等。然后講述了如何實現(xiàn)改進的過程。

這是改進現(xiàn)有代碼必讀的書。請注意,所有的代碼示例用的都是Java,但現(xiàn)在復(fù)制起來也很方便!

《Working Effectively With Legacy Code》

如何修改遺留代碼?如何識別需要重構(gòu)的代碼部分?如何破壞重構(gòu)代碼之間的依賴關(guān)系?如何確保新的代碼能完成預(yù)期的工作?如何一次一小步地重構(gòu)遺留代碼?

在這本杰出的書中,只是回答了一些關(guān)鍵的問題。如果非要用一句話總結(jié)這本書的精華,那就是“寫單元測試,重構(gòu)代碼,確保測試都通過。”

遺留代碼不是一個神話,它是一個活著的傳奇!在軟件行業(yè)中沒有什么比遺留代碼更能經(jīng)受測試的考驗了——Deepak Karanth

《Code Complete》:軟件構(gòu)建的實用手冊

在一個龐大的作品中,如果你想要閱讀所有關(guān)于編程結(jié)構(gòu)和最佳實踐的內(nèi)容,那么這是本必讀書。真正的百科全書式書籍——其最新版本有多達960頁!不要被這本書的厚度嚇倒,你可以按照自己的節(jié)奏閱讀。最后,你會慶幸你閱讀了這本書。

書中解釋了軟件開發(fā)的每個方面。從代碼結(jié)構(gòu),代碼格式化,到變量、方法和類的命名,再一路說到管理一個團隊,對所有一切都提出了實用的建議。

《Head First Design Patterns》

這本書雖然沒有覆蓋所有存在于這個世界的模式,但是會涵蓋所有你可能需要用于解決現(xiàn)實問題的模式。它將幫助你創(chuàng)建功能性的,優(yōu)雅的,可重用的和靈活 的軟件。每個模式的優(yōu)劣也被明確指出。大多數(shù)關(guān)于設(shè)計模式的書籍談?wù)摰氖侨绾螌崿F(xiàn)模式,但這本書的作者同時還解釋了為什么以及怎么樣。

最新版本包括針對Java 8的更新——主要是Lambda。

《Peopleware: Productive Projects and Teams》

這本書并非關(guān)于編程。這是一本有關(guān)管理和激勵程序員的書籍。開發(fā)人員也應(yīng)該閱讀。很多時候,開發(fā)人員,尤其是那些沒有經(jīng)驗的開發(fā)人員,不理解管理的思維過程。

《Soft Skills: The Software Developer’s Life Manual》

同樣的,這也不是一本關(guān)于編程的書。但是,卻是每一個程序員都應(yīng)該閱讀的書。

這本偉大的書著重于管理開發(fā)人員生活的“其他”方面??梢允悄闵畹拿恳粋€方面——事業(yè)、生活、身體、頭腦,以及不管你相信與否——還有靈魂。

作者他自己也遵循這些技術(shù),并且獲得了成功。他的網(wǎng)站上說,他能夠在他30出頭的時候放棄他的日常工作。該作者將他的生活經(jīng)驗整理成整齊的,主題內(nèi) 容為Career、Marketing yourself、Learning、Productivity、Finances, Fitness和Spirit的短章。每個篇章都很短,可以在休息時間閱讀,非常方便。

你會是一個更加滿意和快樂的人,如果你按照這本書的建議去做的話,那么你將成為一個更令人滿意和幸福的人和程序員。

最后我們強調(diào)的基礎(chǔ)知識穩(wěn)扎穩(wěn)打,實踐要花時間練習,練習在練習。不要博要專,安安心心的學習一門編程基礎(chǔ),然后側(cè)類旁通。多思考,編程的精髓在與思考,明白做什么、怎么做最重要。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 本文把程序員所需掌握的關(guān)鍵知識總結(jié)為三大類19個關(guān)鍵概念,然后給出了掌握每個關(guān)鍵概念所需的入門書籍,必讀書籍,以及...
    dle_oxio閱讀 11,384評論 6 244
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,922評論 25 709
  • 技術(shù)向前的步伐比人類歷史上的任何時候都要走得更快。用不了幾個月,就會有新的編程語言和工具問世,彌補現(xiàn)有語言、工具和...
    一一小知閱讀 4,746評論 0 0
  • 作為一個開源愛好者,我們經(jīng)常會寫一些開源的軟件或者工具在網(wǎng)上分享,或者為一些其他的開源軟件貢獻一些自己的力量,但是...
    喬伯閱讀 14,320評論 0 19
  • 寶寶,好久沒見面了。 鼻子,嘴唇……肺部感染,一個人,一臺電視,無菌室。形容病況用“鬼門關(guān)打轉(zhuǎn)”“還活著”短短幾字...
    wsfs閱讀 398評論 0 0

友情鏈接更多精彩內(nèi)容