作為一個軟件開發者,其實我們的工作內容遠遠不止寫代碼這么簡單。要想在此基礎上進階,還需要做很多事情,比如項目管理、需求整理、代碼優化、預言項目、團隊協作、深入淺出傳達項目、解決難題等等。
這里我把這個進階的過程分為4個階段,入門級、中級、熟練級、技術帶頭人,并且推薦一些書,供大家參考。
1第一級 入門級
這個階段需要會利用某種語言的基本功能,能夠編寫類、子程序、循環和條件語?,會使用語言的許多特性。
熟練軟件開發的工具和技巧,并且可以介紹出如何處?細節問題等等,這個階段有兩本書可以參考。
代碼大全(第2版)
《代碼大全》即 Code Complete,是一本完整的軟件構建手冊,涵蓋了軟件質量、編程思想等軟件構建過程中的所包含的幾乎所有細節,并詳細論述了很多緊跟潮流的新技術、高層次觀點以及通用的概念等等。
本書包含有豐富且典型的程序示例,不管你是初學者還是編程,都是很適合去研讀的,如果想要繼續深入理解成為高手,本書包含的編程技巧以及編程思想更是對我們大有裨益。
總的來說,無論是什么背景的讀者,閱讀這本書都有助于在更短的時間內、更容易地寫出更好的程序。
編程珠璣
本書的內容是圍繞程序設計人員面對的一系列實際問題展開的,授人以魚不如授人以漁,所以作者用這種超強的洞察力來教會我們要在實際中解決問題,這對我們至關重要。
通過一些精心設計的實用程序,在設計技巧及基本設計原理上進行了透徹的描述,生動有趣,可以使我們在摸索中快樂學習,并且在復雜的編程問題中有清晰而完備的解決思路。
編程珠璣多年來都很受歡迎,可以說排在程序員愛讀的計算機圖書的前列,不枉珠璣兩字,書中濃縮了史上眾大師們在探索解決方案中發生的軼事、走過的彎路和不斷精益求精的歷程。
其本質可總結為:如何正確選擇和高效地實現算法,并透徹闡述和總結了許多獨特而精妙的設計原則、思考和解決問題的方法以及實用程序設計技巧。
本書的代碼示例均以C/C++語言編寫,并且在解答之后都留有一些問題,使我們可以舉一反三,繼續探索其中的妙處,拓展我們的思維。
2第二級 中級
這個階段能利?多種語言的基本功能,并能夠得心應手地使用至少一種語言。
而且還需要關注軟件構造、管?、需求、設計及其他軟件話題等等,這個階段有兩本書可以參考。
UML和模式應用(原書第3版)
《UML和模式應用(原書第3版)》吸收了大量OOA,D的精華思想和現代實踐方法,是一本經典的面向對象分析設計技術的入門書。
本書將面向對象的概念、過程、方法、原則結合個人的實踐并以實例為證,將軟件的架構、設計、實現整個過程娓娓道來,敘述清晰精準,使人受益匪淺。
并且本書適用范圍廣泛,從初學者到有一定對象技術知識學習者、希望進一步提高開發水平的中級讀者,甚至是資深的專業人員,都是很有幫助的。
軟件需求
《軟件需求》這本經典名著介紹的需求工程最佳實踐、工具和技術,使讀者可以提升需求引導、捕獲、開發、管理和分析能力,不僅僅是軟件本身,而且經過工程實、實例和洞見。
軟件需求和工程實踐結合,在盡可能減少成本、增強維護性和避免返工的同時,交付定位更準確、質量更優良的軟件產品以及服務。
3第三級 熟練級
這個階段一般需要對語言或環境或兩者兼具有著專業技能,或者對Java EE如數家珍,或者對Linux系統了?如指掌,很多程序員通常無法超越這個層次。
重構Refactoring
《重構:改善既有代碼的設計》為面向對象軟件開發所做的貢獻,難以衡量,本書中解釋了重構的原理和最佳實踐方式,并指出何時何地你應該開始挖掘你的代碼以求改善。
本書的核心是一份完整的重構名錄,其中每一項都介紹一種經過實證的代碼變換手法的動機和技術,某些項目看起來可能很淺顯,但不要掉以輕心,因為理解這類技術正是有條不紊地進行重構的關鍵。
設計模式Design Patterns
這本書結合設計實作例從面向對象的設計中精選出23個設計模式,總結了面向對象設計中最有價值的經驗,并且用簡潔可復用的形式表達出來。
書中涉及的設計模式并不描述新的或未經證實的設計,只收錄了那些在不同系統中多次使用過的成功設計,并且分類描述了一組設計良好、表達清楚的軟件設計模式,這些模式在實用環境下特別有用。
4第四級 技術帶頭?人級
這個階段需要具有熟練級的專業才學,善于?解需求,擅長設計架構,不為機?寫代碼,而為人寫代碼,代碼質量高,優雅,簡潔,易?解。