程式設計師的內功修煉——值得看的9本書

weixin_33762321發表於2018-04-01

前言

作為程式設計師,其能力可分為兩種:

  • 技術能力,對語言的理解,對所在技術棧中技術的理解,這類能力可稱為外功。
  • 思維的修煉,工作效率提升, 對程式碼的理解,對架構的理解,此類能力可成為內功。

內功和語言平臺無關,修內功對於程式設計師總體的能力提升有潛移默化的作用

本文整理了行業內經典的書籍,工作之餘不妨拿來研讀。

職業生涯篇

如何理解軟體這個行業,行業內的大師的職業軌跡是如何的? 作為程式設計師要關注哪些內容可以讓自己的職業生涯之路走的一帆風順? 這一部分便會介紹這類書籍。

程式設計師修煉之道 The Pragmatic Programmer

《程式設計師修煉之道》由一系列的獨立的部分組成,涵蓋的主題從個人責任、職業發展,直到用於使程式碼保持靈活、並且易於改編和複用的各種架構技術。利用許多富有娛樂性的奇聞軼事、有思想性的例子以及有趣的類比,全面闡釋了軟體開發的許多不同方面的最佳實踐和重大陷阱。無論你是初學者,是有經驗的程式設計師,還是軟體專案經理,本書都適合你閱讀。

書裡講到很多故事,教你如何一步一步從“菜鳥”轉變成大牛。成為一名“大家”需要哪些能力。經過實踐和總結,詼諧的講述出來。

我程式設計,我快樂 The Passionate Programmer

要在當今的IT職場取得成功,必須像經營企業那樣對待你的事業。在本書中,你將學到如何規劃自己的職業生涯,讓它向著你選擇的目標前進,使人生更快樂、更美好。 作者運用其獨特的思維方式,啟發程式設計師不能只注重技能上的提高,還要關注自己的職業發展。書中涉及新舊技術的取捨、技術與業務的關係、技術是要專精還是要廣博等,相信這也是長久以來困擾你的問題。帶著這些問題去閱讀此書,定會受益良多。

此外,本書中的每一章都包含一篇或幾篇各領域成功人士的文章,讓你直接瞭解他們如何規劃自己的職業生涯!

中文書名看起來很山寨,但實際的內容非常棒,比如做“團隊中最差的人”等等。如果你想要在這個行業走下去,熱情是很重要的,推薦一邊看一邊思考。

程式設計人生 Coders at Work

世界頂尖的程式設計師是怎麼走上程式設計道路的? 他們的程式設計工作創造和改變了人類歷史,在這一過程中都有哪些經驗和教訓? 他們對計算機軟體行業的過去、現在和未來有什麼獨到的看法和見解? 他們對培養、發現、選拔、面試優秀的程式設計師有什麼建議? 放下手頭的工作,聽聽這些軟體先驅們的故事和建議,眼界可以更開闊,思路可以更清晰,方向可以更明確,人生可以更精彩。

幾位計算機大牛的訪談錄,你可以看看大師的路是怎麼走過來,大師對待語言,對待技術的態度是什麼樣的,Javascript的作者又是如何看待這門語言的。

思維篇

思維篇彙總一些關於如何高效的工作,如何認識你的大腦,如何最大限度的利用你的大腦,提高效率。 效率本身很關鍵,掌握這些技能,做事情可以事半功倍

程式設計師的思維修煉 Pragmatic Thinking and Learning - Refactor Your Wetware

本書解釋了為什麼軟體開發是一種精神活動,思考如何解決問題,並就開發人員如何能更好地開發軟體進行了評論。書中不僅給出了一些理論上的答案,同時提供了大量實踐技術和竅門。

左腦右腦如何工作?多工為何效率低下?如何思考和解決這些問題? 這本書可以給你答案。

Clean code

之所以單獨拿出一個章節,是因為這真的很重要

編寫可讀程式碼的藝術 The Art of Readable Code

細節決定成敗,思路清晰、言簡意賅的程式碼讓程式設計師一目瞭然;而格式凌亂、拖沓冗長的程式碼讓程式設計師一頭霧水。除了可以正確執行以外,優秀的程式碼必須具備良好的可讀性,編寫的程式碼要使其他人能在最短的時間內理解才行。本書旨在強調程式碼對人的友好性和可讀性。

Readable Code 是每個程式設計師應該追求的,如何寫出可讀程式碼也是有技巧的,本書講述了為何重要,並提供了各種方法,推薦閱讀

Clean Code

Bob大叔寫的書,與前面一本講的是一個事情。

哲學

UNIX程式設計藝術

本書主要介紹了Unix系統領域中的設計和開發哲學、思想文化體系、原則與經驗,由公認的Unix程式設計大師、開源運動領袖人物之一Eric S. Raymond傾力多年寫作而成。包括Unix設計者在內的多位領域專家也為本書貢獻了寶貴的內容。本書內容涉及社群文化、軟體開發設計與實現,覆蓋面廣、內容深邃,完全展現了作者極其深厚的經驗積累和領域智慧。

這本書更多的將Unix系統中的一些思想和理念,對於寫程式碼很幫助,著名的KISS原則,在本書中有很好的解釋。

計算機基礎

編碼 Code

本書講述的是計算機工作原理。作者用豐富的想象和清晰的筆墨將看似繁雜的理論闡述得通俗易懂,你絲毫不會感到枯燥和生硬。更重要的是,你會因此而獲得對計算機工作原理較深刻的理解。這種理解不是抽象層面上的,而是具有一定深度的。

程式語言和正規化

七週七語言

通過不同的語言講述不同的程式設計正規化,讓你明白一個問題的解決思路可以有很多,開闊視野方面非常有幫助,你不需要把這7門語言掌握的很好,但其中函數語言程式設計、物件導向程式設計的概念需要特別關注。

總結

之所以要看書,是因為如今的資訊過於碎片化,不成系統,所以思考的深度有時也會有所欠缺,而對於程式設計師而言,只要不斷的積累學習,才能修煉好內功,做事情更加得心應手。

相關文章