那些牛掰的程序員都看什么書?

碼農一抓一大把,優秀的程序員卻不易尋覓。大多數優秀的程序員有一個共同點,那就是自學。

為什么是自學呢?首先大學的教育不可能讓你成為專家級別的程序員,其次為了能從團隊脫穎而出必然付出更多的努力來學習。自學其實是一種很強有力的能力,一旦掌握,許多技術和問題都可以輕松搞定。。

本文講列舉六本業界牛人的著作,也是編程書籍中經典的經典,這幾本書并非簡單的教程書籍,而是教給你方法和思想來解決現實遇到的問題,提高編碼的技藝和境界。

重構—-改善既有代碼的設計

何為重構,一言以蔽之,就是在不改變外部行為的前提下,有條不紊地改善代碼。本書雖然使用Java語言書寫示例代碼,但是其概念與思想同樣適合于其他語言。書中,作者以一些平淡無奇,甚至帶有壞味道的代碼開始,一步一步地修改轉變成更加靈活,可重用的代碼。通過書中的示例,你會清楚地明白什么才是整潔的代碼。重構其實依然成為經驗豐富的程序員的必備技能,當你想要改善重構代碼時,讀一讀這本書就會讓你有章可循,豁然開朗。

代碼整潔之道

這是我最喜歡的一本書,不止一次我將它推薦給我的同事,讀者還有學生。我認為它可以稱得上軟件開發與編碼方便最好的一本書。Bob大叔我想無需做介紹,他寫過一個關于敏捷開發的系列書籍,我的書架上就有他的《代碼整潔之道》,《程序員的職業素養》, 《敏捷軟件開發(原則模式與實踐)》,《UML for Java For Programmers》, 《Extreme Programming in Practice》等這些書籍。雖然他的這些書有點老舊,但是這些書仍然很有價值,縱使數十年之后,這些書依舊受用,尤其是在面向對象編程方面。 本書不僅僅是告訴你要做什么,還教會你什么不能做。書中有關于代碼味道的一個章節,全面列舉了大多數程序員遇到的各種錯誤,其后的章節則詳細描述如何糾正這些錯誤。比如如何將過長的switch聲明轉換成遵循開放閉合原則的模型,如何利用集成和多態。再次啰嗦一下,這本書確實值得每個程序員擁有。和上本書一樣,書中的例子使用Java語言,但依然適合使用其他面向對象編程語言的開發者閱讀。想要擼的一手好碼,這本書必不可少。

代碼大全

想必這本書大家都曾閱讀過,這就是鼎鼎大名的《代碼大全》,從某個角度看,它其實就是C++版的《代碼整潔之道》。本書的目標就是幫開發者使用做高質的代碼寫出更好的軟件。同樣書中也涉及了編程中常見問題和最佳實踐。這本書也可以稱得上是必讀書籍,尤其是對于C和C++程序員。《代碼大全(第2版)》中所論述的技術不僅填補了初級與高級編程實踐之間的空白,而且也為程序員們提供了一個有關軟件開發技術的信息來源。《代碼大全(第2版)》對經驗豐富的程序員、技術帶頭人、自學的程序員及沒有太多編程經驗的學生都是大有裨益的。可以說,只要你具有一定的編程基礎,想成為一名優秀的程序員,閱讀《代碼大全(第2版)》都不會讓你失望。

單元測試的藝術

如果非要做一件改善項目,提高開發者水平的事情,我想那就是讓開發者掌握單元測試的能力。對于專業的開發者來說,單元測試是一項必備的技能,多數的程序員卻不具備TDD(測試驅動開發)的能力。我雖然在不太遵循TDD這種模式,但是也會為自己寫的或維護的代碼編寫單元測試。對于工程來說,開源項目基本都嚴格遵守執行單元測試,而很多商業的工程則在單元測試方面有所缺失。一個擁有單元測試的項目會變得更加容易維護和更改。本書會介紹成功的項目與失敗項目的差別,可維護的代碼庫與不可維護的代碼庫之間的區別。本書示例為.NET代碼,但這并不會影響你了解單元測試。如果你是一名技術負責人或者項目負責人,這本書可以幫你更好地把控項目代碼質量。如果你看Java更舒服的話,也可以看一看這本書《JUnit實戰(第2版)》。

精益軟件開發管理之道

《精益軟件開發管理之道》是一本軟件開發方法學的書。作者從24個不同的視角,在更大的空間、時間、行業、文化背景下,考察了敏捷和精益方法。《精益軟件開發管理之道》詳細闡述了敏捷和精益開發方法取得成功的深層原因。《精益軟件開發管理之道》包括以下內容:系統思考,以適當足夠的方式關注客戶;技術杰出,介紹了杰出軟件開發的基礎-低耦合的架構、測試驅動的開發過程等;可靠交付,討論了工作流和日程計劃,以及反饋的重要作用;無情改進,討論了所有精益組織的基本特點:持續不斷、永不滿足的改進;卓越的人,卓越的結果來自于卓越的人;一致的領導,討論在領導團隊中達成一致。

設計模式 可復用面向對象軟件的基礎

這本書要么你讀過,要么就是聽說過,這就是經典的GOF(Gang of Four 中文譯為四人幫)設計模式一書。該書作者為四人,分別是Eric Gamma, Richard Helm, Ralph Johnson, 和John Vissides。四位頂尖的面向對象領域專家精心選取了最具價值的設計實踐,加以分類整理和命名,并用簡潔而易于重用的形式表達出來。本書已經成為面向對象技術人員的圣經和詞典,書中定義的23個模式逐漸成為開發界技術交流所必備的基礎知識和語匯。使用這些設計模式,我們可以設計出靈活,優雅和可重用的可擴展的設計。

“小編是一個有著7年工作經驗的web前端開發工程師,關于web前端編程、大數據,自己有做材料的整合,一個完整的web前端編程、大數據學習路線,學習材料和工具(包含零基礎入門到高深進階),免費送給大家,希望你也能憑著自己的努力,成為下一個優秀的程序員。”

資料獲取方式:加QQ群:956766604(招募中)

?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,572評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,071評論 3 414
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,409評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,569評論 1 307
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,360評論 6 404
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,895評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,979評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,123評論 0 286
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,643評論 1 333
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,559評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,742評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,250評論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,981評論 3 346
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,363評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,622評論 1 280
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,354評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,707評論 2 370

推薦閱讀更多精彩內容