全國統一學習專線 8:30-21:00
          位置:尚訓網 > 學歷 > 自考 > 軟件工程師必讀書目有哪些?  正文

          軟件工程師必讀書目有哪些?

          2020-04-26 13:58:55來源:尚訓網綜合

          若想成為一名優秀的軟件工程師,在努力寫代碼的同時,“讀代碼”同樣至關重要。

          在當代社會,人們的日常生活因各種各樣的新奇玩意兒而變得豐富多彩,比如播客、視頻以及博客等等。盡管如此,仍然有許多人會選擇捧讀一本好書。筆者作為一名資深“書蟲”,也已經涉獵過許多技術類書籍,例如軟件工程。至今,筆者仍然在試圖通過閱讀以求新知。

          軟件工程領域的發展日新月異,今天的熱門可能不久后就淪為明日黃花,因此要在該領域尋得一本好書,實為不易。尤其是如果要找一本與某一特定編程語言相關的書目,則更為艱難。

          然而,在該領域也有一些書籍歷久彌新,比如那些探討元主題、設計模式或者一般思維模式的軟件工程類書籍。

          在下文筆者列出的書單中,就包括目前最熱門、最暢銷的軟件工程類書籍。下文所推薦的書目非常經典,至今依舊光彩熠熠,并且頗受高級軟件工程師們的推崇,因此常將其推薦給初級開發人員。在當今這個時代,時間的確很寶貴,尤其是對軟件工程師而言。但是,如果真的能花上些許時間拜讀一下這些書目,則無論對于自身的提高還是未來的職業生涯而言,必將有所裨益。在這里有必要說明一下,下文書目的排列順序完全隨機,與其重要性的大小無關,因為每本書均有其側重且值得被推薦。

          《代碼大全(第二版)》(Code Complete)

          《代碼大全(第二版):軟件構建之實踐指南》(Code Complete: a Practical Handbook of Software Construction, 2ndEdition)出自著名IT暢銷書作者史蒂夫·邁克康奈爾(SteveMcConnell)之手,完全稱得上是“有生之年”系列圖書之一,因為幾乎每一個程序員都曾拜讀過此書。

          此書對軟件構建進行了全面分析,邏輯嚴密,因此在業界頗受好評。在本書中,涉及的話題主要涵蓋軟件設計、編碼、調試以及測試等。

          因此,對于有著一至三年專業編程經驗的工程師而言,這本書尤其值得閱讀,因為他們會受益良多。但是筆者認為,即使是軟件編程的初學者也不妨試讀一下,因為他們可以從這本書中獲得更多的自信,以面對未來的軟件編程工作。

          指點迷津:軟件開發人員必須要有能力處理復雜事物,編寫易于維護的代碼,并且手不釋卷——這不僅僅是為了自己,也是為了他人。

          《程序員面試金典》(Cracking the Coding Interview)

          無論參加編程面試是出于個人興趣還是職業需求,《程序員面試金典:189道知名科技公司編程面試真題及解答》(Cracking the Coding Interview: 189 Programming Questions &Solution)都是一本非常值得推薦的編程類書籍。本書作者蓋爾·拉克曼·麥克道爾(GayleLaakmann McDowell)是一位經驗豐富的軟件工程師,不僅親身參與過編程面試,而且還曾擔任過面試官。在這本書中,她幫助面試者尋找問題背后的細枝末節,并將問題進行拆分,從而更好地理解各個概念。

          此外,作者還在書中講解了189道知名企業的編程面試真題及答案,為即將參加編程面試的人們助力。

          《代碼整潔之道》(Clean Code)

          “Bob大叔”羅伯特·馬丁(RobertC. Martin)的著作《代碼整潔之道:整潔代碼的敏捷實踐方法》(Clean Code: A Handbook of Agile Software Craftsmanship),是全世界最受追捧的編程書目之一。作者希望通過此書來教授軟件工程師如何編寫整潔的代碼。在此書中,作者通過許多實例講解來告訴人們如何重構現有代碼,從而使其更加易于閱讀與維護。但值得注意的是,本書主要針對的是Java編程語言。雖然本書所涉及的某些模式與方法也同樣適用于一般編程或其它編程語言,但其主要受眾仍然是Java程序員。

          另外同樣值得注意的一點是,由于此書著于2009年,且受限于現有的工具與IDE,因此書中某些內容已經過時,例如代碼格式部分。但總體來說,這本書仍然值得拜讀。

          《重構(第二版)》(Refactoring)

          《重構(第二版):改善既有代碼的設計》(Refactoring: Improving the Design of Existing Code, 2nd Edition)的作者是世界軟件開發大師馬丁·福勒(Martin Fowler),正如在20前的第一版中一樣,在這第二版中作者也首先向公眾闡述了何為“重構”。在此書中,作者總結了人們可能會有的疑問,并一一予以解答,具體如下:

          · 為什么應該重構代碼?

          · 如何辨別哪些代碼需要重構?

          · 如何成功重構代碼?

          在閱讀此書后,人們將能更好地理解重構的過程及其一般原則,并將其快速應用于自己的代碼庫。另外,此書的讀者可能還會額外獲贈一個靈敏的“狗鼻子”,當自己的隊友寫的代碼亟需重構時,這個鼻子就能立馬聞出來并提醒對方。

          《Head First設計模式》(Head First Design Patterns)

          編程著作《Head First設計模式:重視大腦的學習指南》(Head First Design Patterns: A Brain-Friendly Guide)由埃里克·弗里曼(Eric Freeman)、伯特·貝茨(Bert Bates)、凱西·塞拉(Kathy Sierra)與伊麗莎白·羅伯森(Elisabeth Robson)合作完成,主要教授人們設計模式與方法,以供其他開發人員用于創建可重復使用且靈活度高的功能性軟件。在該書中,有許多高質量的可視化圖表,通過這些圖表,讀者們能夠更加容易地學習新概念。

          對于想要了解工廠、單例或者依賴注入等模式的人而言,這本書絕對是不二選擇。由于本書所使用的案例均由Java寫成,因此讀者最好能對該語言或其它面向對象的編程語言有所了解。

          《企業應用架構模式》(Patterns of Enterprise Application Architecture)

          《企業應用架構模式》是馬丁·福勒的又一力作,主要旨在探討企業應用發展的實踐。在本書中,前一部分主要是關于如何開發企業應用的教程;之后,作者又提供了40多種模式,用以解決在創建企業應用過程中可能會遇到的常見問題。此外,書中還包含許多UML圖以及Java代碼或C#代碼示例。

          通過閱讀此書,人們將能夠對企業應用進行分層,獲悉組織業務邏輯的主要方法,使用MVC模式來組織Web應用,并且在多事務運行時處理并發數據。

          然而,這本書正逐漸淘汰于時代無情的洪流中,因此許多現代術語都未及時更新,例如REST、云端、JSON等。盡管如此,此書仍然不啻為一本好書,但在真正閱讀時要注意取其所長,棄其所短。

          《修改代碼的藝術》(Working Effectively with Legacy Code)

          《修改代碼的藝術》是世界級計算機專家邁克爾·費瑟(Michael Feathers)的經典之作,作者在書中提供了許多策略用于處理未經測試的大型遺留代碼庫。在這時,或許許多人都會心生疑惑:已經到2020年了,人們一直都有整潔且易于維護的代碼和微服務,難道處理遺留代碼還算得上什么大問題嗎?實際上,事情絕非如此簡單。目前對于大部分公司而言,遺留代碼問題仍然是一大挑戰。

          通過閱讀此書,人們將能夠理解修改軟件的一般機制,例如添加特性、修正缺陷、優化性能、改進設計等。除此之外,讀者也能學會如何準備遺留代碼的測試,以及如何確定哪些代碼需要修改。

          在本書中,作者還提供了包含Java、C++、C和C#的示例,并詳細介紹了如何處理非面向對象的遺留代碼。

          相關內容: 軟件工程師 軟件工程師必讀書目

          同類文章
          日韩专区亚洲综合久久久久_精品亚洲大片精品免费看_日韩成人电影在线观看_精品偷拍一区二区三区

                  亚洲日韩中文字幕一区 | 尤物在线一区二区三区 | 六月婷婷国产精品综合 | 午夜在线视频网址亚洲 | 午夜性色福利免费视频在线观看 | 青青青视频手机在线看 |