《阿里巴巴Java開發手冊》碼出高效詳解(一)- 爲何要學習阿里編碼手冊

《Java 開發手冊》(如下簡稱《手冊》)是每一個 Java 工程師人手必備的一本參考指南。該手冊包括 編程規約、異常日誌、單元測試、安全規約、MySQL 數據庫、工程結構、設計規約 7 個部分 ,涵蓋了 Java 開發的常見知識點。認真實踐該《手冊》可以幫助 Java 開發者養成好的編程習慣,幫助企業的開發團隊在 Java 開發上更加高效、提升容錯性、團隊協做更好,並有助於提升代碼的質量、下降項目維護的難度。然而不少人會遇到看過就忘,記住卻不理解、不會用的困境。面試

另外在實際的學習和工做中,你是否遇到過以下尷尬:數據庫

看《手冊》等 Java 技術圖書時以爲啥都懂,實戰時就忘了;不少知識點,知其然而不知其因此然,面試時多問你幾個爲何就 「靚仔語塞」;想經過讀源碼來進階,可是容易迷失在細節中,老是半途而廢;不重視需求分析,致使開發完成才意識到設計和需求有誤差;遇到問題時若是沒法簡單地定位緣由,會優先經過百度、請教別人來解決問題;開發中遇到問題排查耗時好久,方法很原始;本身開發的項目,每次上線幾乎必出 BUG,而有些同事的項目質量則很高,本身殊不知道如何才能儘量地避免。編程

結合本身學習和工做這麼長時間的思考,將出現上述尷尬的緣由歸結爲如下幾個緣由:安全

  • 知道很容易,懂很難,不少人把知道當作懂。自認爲掌握了就不肯意再深刻學習,偏偏錯過了完全掌握該知識的最佳機會;
  • 專業基礎不夠紮實。 不少人急於求成,只重視解決眼前問題,不可以未雨綢繆,鞏固好專業基礎,最終致使不少問題」 知其然而不知其因此然 「,排查問題時靠猜、靠問,而不是靠紮實的專業基礎之上的推測和驗證;
  • 不少人不肯意改變學習方法,學習和培養好的編程習慣,不敢走出溫馨區。好比不少人學了不少技術,卻歷來沒有認真仔細閱讀過官方文檔;好比讀源碼毫無章法,爲所欲爲,經常半途而廢;
  • 態度決定一切。不少人嘴上說想學好,可是對本身代碼要求很低,老是爲本身找各類理由不去學更好的方法,不去努力寫更優雅的代碼;
  • 在學習技術過程當中,不少人把腦力勞動當成了體力勞動,把須要思考的問題當作了純記憶的問題,學習和工做過程當中缺少思考。好比不少人是 「記憶」 經典圖書的知識點,而不是理解知識點,致使容易遺忘,不能靈活運用。在學習不少知識點時缺少思考,沒有去搞懂是什麼、不明白爲何、不知道如何去作;
  • 沒有養成好的解決問題的習慣,排查問題靠猜,而不是思考和驗證。也沒有主動掌握常見的排查問題的步驟和工具等。

不少人缺少的不僅是好的資料,而是學習的方法。學同樣的技術,使用不一樣的方法,最終學習的效果大相徑庭。而技術是學不完的,若是沒有科學的方法,沒法很好地應對層出不窮的新技術。每一個人的成長速度是不一樣的,有的人工做多年,卻只有一年的技術經驗;而有的人工做一年,卻有超越一年的技術經驗。形成這種差別的主要緣由在於學習能力。工具

從 Java 新手到高手的進階過程是一個漫長的爬坑過程。 不少同窗遇到 BUG 時因爲基礎不紮實也沒有系統地排查方法,爲了解決一個小問題浪費了大把的時間。並且寫出的 BUG 太多將直接或間接影響績效,影響同事、領導對你的印象。單元測試

阻礙初學者進步的每每是一葉障目不見泰山的盲目自信,每每是一成不變學習方法。破解上述尷尬的核心在於提升學習和排錯能力。學習

爲了解決上面提出諸多尷尬,本教程的具體應對策略以下:測試

  • 從學習方法主要切入點,結合源碼,Java 語言規範 2 和 Java 虛擬機規範 3 等對《手冊》的講解和補充
  • 設計者角度思考問題,不少知識點將從設計者視角去思考分析問題,更容易理解問題的根源
  • 經過對開發中經常使用的思惟導圖、流程圖和常見 UML 圖的講解,讓你們能夠 「大戰需求分析」,前期明確需求,後期少返工
  • 經過單元測試、Code Review 等相關知識的學習和運用,促進代碼質量的提高
  • 經過獨特的學習源碼視角,來從正確的角度和方法來學習源碼的精髓,反向促進平常的開發
  • 結合實際的開發經驗,給出相關知識點掌握不牢容易形成的坑,給出一些避坑建議。

版本

Java 源碼均默認爲 JDK 8 版本(特殊標註除外)。設計

技術是學不完的,學習能力和態度纔是進階的關鍵。做爲一個技術人員,只有保持 「Stay Hungry, Stay Foolish」 的心態,纔可以保持進取心;只有真正知道哪些纔是更有價值的東西,才能真正少走彎路。日誌

但願你們可以通本教程,從 「學習具體內容」 爲主,轉變到學習 「學習的方法」 爲主;從技術的學習者變爲技術的思考者。

參考

  • 《 Java 開發手冊 1.5.0》華山版. 2019
  • 《Java Language Specification: Java SE 8 Edition》
  • 《The Java Virtual Machine Specification Java SE 8 Edition》
  • 碼出規範:《阿里巴巴Java開發手冊》詳解
相關文章
相關標籤/搜索