首頁 >後端開發 >php教程 >12本最具影響力的程式設計師書籍(上)

12本最具影響力的程式設計師書籍(上)

WBOY
WBOY原創
2016-07-29 09:07:55778瀏覽

12本最有影響力的程式設計師書籍(上)
很多人問我這個問題,尤其是那些剛開啟軟體工程生涯的同事和朋友。要成為更好的開發人員,我該讀哪些書?我真的需要讀書嗎?這是一個很值得探討的問題,而且也是我在成為軟體工程師時問了很多導師的問題。但問題是,很多人推薦的是不同主題的不同書籍。他們推薦的書在他們看來是偉大的,但沒有人能告訴我,要成為一個偉大的工程師,我該讀什麼,哪些是重要的、必讀的書。
我從我的導師那裡學到了很多東西,並意識到,我仍然有很多東西需要學習,還有許多不同的書需要閱讀。我決定每個月讀一本專業領域(軟體工程)的書。隨著時間的積累,我總結出了我認為想要成為一個頂級開發人員必須閱讀的書單。
事先聲明—只是閱讀這些書不會讓你成為一個偉大的開發者。你還需要累積多年的工作經驗,並應用這些書中的原則到現實實踐中,並在現實世界中發展你解決問題的能力。
閱讀這些書可以幫助你避免一些常見的陷阱和錯誤,一些開發人員早期經歷的陷阱和犯過的錯誤。我多麼希望在我剛進入軟體領域的時候,就有人向我推薦這些書啊,並且我現在依然很慶幸自己發現並反覆閱讀了這些書!也許你已經在大學讀電腦科學或工程課程的時候讀到其中的一些書。也許在那個時候,你覺得它們並不重要,但是我可以用我親身經歷來說明我使用和應用了許多來自於這些書的原則。
我還要指出的是,此書單並不詳盡。每年都會有許多偉大的著作問世。這些只是對我和我的職業生涯影響最大的書籍。此外,這些書和使用什麼語言無關,可以應用於任何軟體語言。好了,讓我們開始介紹這些書吧! (這些都是必不可少的,我將根據它們對我的影響大小從後往前介紹。)
12.《Working Effectively with Legacy Code》我之所以喜歡這本書,是因為幾乎所有的軟體開發人員,在其職業生涯的某個時刻,往往會不得不支持和工作於遺留系統。在這本書中,Michael Feathers提供了從開始到結束的策略,以便於更有效地工作於未經測試的遺留程式碼庫。本書借鑒了Michael為其著名的Object Mentor專題研討會創作的材料:Michael用於指導的技術,以幫助開發人員,技術管理人員和測試人員掌控遺留系統。
11.《The Mythical Man-Month》本書是一本經典之作,但最近被修改和更正了。令人驚訝的是這本書仍然與軟體產品開發密切相關。如果你從事軟體的話,這本書是必讀的。這本書最有價值的部分,我相信,是「plan to throw out」原型章節。儘管我們的目標通常是做一個更大,更好,更快,不管它是什麼的東西,但是我們總是會建造出一些不得不被廢棄,需要重做的東西。這種情況我親身經歷過很多很多次。因此,關鍵是要plan to throw out(計劃拋棄),這樣你才能適應接下來的情況。如果你夢想第一個產品就ok,那麼你就會有拋棄它們的風險,因為產品的改進和發展是不可避免的。計劃拋棄也有助於透過設定合理的里程碑來達到進度目標。
10.《Design Patterns》如果你打算成為一名架構師或系統的設計人員,那麼你很有可能會被要求閱讀這本書。這是一本被譽為有史以來最偉大的有關於軟體開發的書,詳細講述了許多不同的設計模式,這麼多年一直在幫助軟體工程師避免和處理行業面臨的常見問題。遵照這本書的策略可以幫助你打造更高品質,靈活且可維護的軟體。傳說中的「四人幫」就是這本書,因為它是由四個著名的作者共同編寫的。
9.《Programming Pearls 第二版》這本書和這書單上的其他書籍略有不同。我想說這本書可以幫助一個人「像一個程式設計師一樣思考」。 《Programming Pearls》是先前發表在「Communications of the ACM(美國電腦學會通訊)」的15篇專欄的一個綱要。這些專欄涵蓋了廣泛與程式設計相關的主題:從需求收集到效能優化。重點關注編碼技術和演算法。
每個專欄被組織為一個章節。章節通常以一個實際問題的情景呈現開頭。然後,提出各種解決方案和相應的經驗教訓。寫作風格清晰明快。
《Programming Pearls》不是教授新程式設計概念的尋常書籍。雖然它包含了優秀,有時甚至是相當新奇的想法,但這本書的目的不是教你一些新的東西,而是幫助你成為一個更好的問題解決者。
8.《CODE: The Hidden Language of Computer Hardware and Software》這本書清理了創建和開發複雜系統的大量「魔法」。現在的抽像是如此之多,以致於一些低層次的細節反而不為開發人員所知。雖然你可能不會發現自己在實踐中時刻使用這本書——但我相信,知道自己正在建立什麼以及整個編排的工作原理是什麼,總歸是一個好主意。當你需要打開“黑盒子”,深入軟體或硬體來解決一個討厭的bug的時候,它就能派上用場了。 Charles Petzold寫的《CODE: The Hidden Language of Computer Hardware and Software》整理了許多程式設計概念——從數位系統的十進制,八進制,二進位到高階語言。這本書介紹了基於包的通訊協定和TCP。許多章節講解了有關硬體的概念,有五個章節涉及到了軟體和教導作業系統,浮點運算和圖形使用者介面。
7.《The Art of Computer Programming》這又是一部經典之作。由著名的電腦科學家教授Donald Knuth編著,並獲得業界眾多頂尖程式設計師的一致好評。甚至連Bill Gates也對這本書讚譽有加:
「如果你認為你是個真正優秀的程式設計師…那麼就去讀[Knuth的]《The Art of Computer Programming》吧…如果你能讀懂整本書,那麼請一定要​​給我發簡歷。關係,以及如何有效地處理這些問題。另外也提供了基本的應用程式給模擬模擬,數值方法,符號計算,軟體和系統設計。
不斷探索技巧和策略,可以幫助你:
    最小複雜性和最大創意的設計
    獲得協同開發帶來的好處
    應用​​防禦性程式設計技術,以減少和驅趕錯誤
      應用​​防禦性程式設計技術,以減少和驅趕錯誤
   程式碼
    使用針對你專案的結構方法
    快速有效地調試問題
    早早地正確解決關鍵的結構問題
    從頭到尾專案打造必有高品質的專案
如果你讀過這些書,或有任何其他軟體開發人員必備的專案
如果你讀過這些書,或有任何其他軟體開發人員必讀的書籍,歡迎在留言中留言!
兄弟會高洛峰免費收徒:http://www.hdb.com/party/lzcw-comm.html
免費領取LAMP兄弟連原創PHP影片教學光碟/《細講PHP》精要版,詳情諮詢官網客服:
http://www.lampbrother.net

以上就介紹了12本最具影響力的程式設計師書籍(上),包括了方面的內容,希望對PHP教程有興趣的朋友有所幫助。

🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn