天天看點

阿裡巴巴主導的“華山版《Java 開發手冊》”簡介

Table of Contents

1、“83行代碼計劃”項目介紹(轉自github):

2、為什麼命名為“83行代碼計劃”?

3、《碼出高效:Java 開發手冊》這本書都講了啥?

4、《阿裡巴巴Java開發規約》掃描插件

5、最近更新:2019.6.27 華山版《Java開發手冊》現身江湖

1、“83行代碼計劃”項目介紹(轉自github):

阿裡巴巴主導的“華山版《Java 開發手冊》”簡介

       2018年9月22日,在2018杭州雲栖大會上,召開《碼出高效:Java 開發手冊》新書釋出會,并宣布将圖書所有收益均捐贈于技術公益項目“83行代碼計劃”。

     阿裡巴巴正式在2018杭州雲栖大會《開發者生态峰會》上,由阿裡巴巴高年級同學中間件負責人林昊、阿裡巴巴研究員劉湘雯、阿裡巴巴研究員劉國華,OpenJDK社群Committer楊曉峰,全棧視障工程師蔡勇斌,電子工業出版社博文視點出版公司總經理郭立以及兩位圖書作者楊冠寶(孤盡)和高海慧(鳴莎)重磅大咖聯合釋出新書《碼出高效:Java開發手冊》(跳轉至天貓書店),并宣布将圖書所有收益均捐贈于技術公益項目“83行代碼計劃”,第一個“83行代碼計劃”行動,将圍繞着幫助盲人工程師,開發更多無障礙化産品,讓盲人上網更便捷。未來,我們會堅持用技術為公益行業賦能,也希望更多人成為技術受益者。

阿裡巴巴主導的“華山版《Java 開發手冊》”簡介
     2017年10月14日杭州雲栖大會,Java代碼規約掃描插件全球首發儀式正式啟動,規範正式以插件形式公開走向業界,引領Java語言的規範之路。目前,插件已在雲效公有雲産品中內建,立即體驗!(雲效>公有雲>設定->測試服務->阿裡巴巴Java代碼規約)。

2、為什麼命名為“83行代碼計劃”?

    2018年4月初在阿裡的一個“小黑屋”會議室裡,5名對代碼有着極緻追求的程式員參與了阿裡代碼領域最高榮譽“多隆獎”最終角逐。多隆作為淘寶的第一代程式員,也是很多技術人心中的大神。
阿裡巴巴主導的“華山版《Java 開發手冊》”簡介

(多隆Review第83行代碼時專注的眼神,簡直酷帥~)

     那天代碼評審現場,看到某代碼片段最後結尾,多隆突然補上一句,往上翻看下第83行。代碼一般都是幾百行,他看到最後,居然還記得第83行的一個細微瑕疵,這得是對代碼懷着怎樣的敬畏之心。

     為什麼叫“83行代碼計劃”?孤盡[1]解釋道,阿裡進階研究員多隆當時在最佳品質代碼評選現場,翻看代碼時,說了一句“83行代碼傳回去再看一下。”當時,我們覺得多隆作為一個合夥人級别的技術人還能這麼執着與認真的對待每一行代碼,讓我們很感動,是以,我們把這個公益計劃命名為“83行代碼計劃”。

[1]《碼出高效》的兩位作者阿裡技術專家孤盡和鳴莎。

摘抄自:向代碼緻敬,尋找你的第83行代碼!和 對話孤盡、鳴莎:《碼出高效:Java開發手冊》背後的故事。

3、《阿裡巴巴Java開發手冊》這本書都講了啥?

上面介紹了這麼多,好像都沒有講到主要的!這本書都了啥?Java代碼規約?這個啥意思?好像有點抽象啊?下面進入正題:

 P3C

    Preface:We are pleased to present Alibaba Java Coding Guidelines which consolidates the best programming practices over the years from Alibaba Group's technical teams. A vast number of Java programming teams impose demanding requirements on code quality across projects as we encourage reuse and better understanding of each other's programs. We have seen many programming problems in the past. For example, defective database table structures and index designs may cause software architecture flaws and performance risks. Another example is confusing code structures being difficult to maintain. Furthermore, vulnerable code without authentication is prone to hackers’ attacks. To address these kinds of problems, we developed this document for Java developers at Alibaba.

(前言:我們很高興向您介紹阿裡巴巴Java程式設計規範,它整合了阿裡巴巴集團技術團隊多年來的最佳程式設計實踐。随着我們鼓勵重用和更好地了解彼此的程式,大量的Java程式設計團隊對跨項目的代碼品質提出了苛刻的要求。我們在過去已經看到了許多程式設計問題。例如,有缺陷的資料庫表結構和索引設計可能會導緻軟體體系結構缺陷和性能風險。另一個例子是難以維護的代碼結構。此外,沒有身份驗證的脆弱代碼容易受到黑客攻擊。為了解決這些問題,我們為阿裡巴巴的Java開發人員開發了這個文檔。)

     該手冊以 Java 開發者為中心視角,劃分為程式設計規約、異常日志、單元測試、安全規約、MySQL 資料庫、工程結構、設計規約七個次元,再根據内容特征,細分成若幹二級子目錄。根據限制力強弱及故障敏感性,規約依次分為強制、推薦、參考三大類。對于規約條目的延伸資訊中,“說明”對規約做了适當擴充和解釋;“正例”提倡什麼樣的編碼和實作方式;“反例”說明需要提防的雷區,以及真實的錯誤案例。

    宗旨:碼出高效,碼出品質。

    簡單點說就是:該手冊對一些不規範的編碼方式或風格以及容易出錯的地方,給出了比較規範的“标準”,規範根據程度分為三種強制、推薦、參考,并給出了一些示範;參照該規範可以讓我們在高效編碼的同時,保證品質。

調侃:

1、程式猿最煩的3件事:①代碼要寫注釋 ②别人的代碼不寫注釋。

2、不寫注釋的程式猿一個月後再看自己的代碼:?誰知道這是誰寫的什麼鬼東西……

3. 紮心的真理:

阿裡巴巴主導的“華山版《Java 開發手冊》”簡介
4.頭痛的原因:
阿裡巴巴主導的“華山版《Java 開發手冊》”簡介

手冊目錄:

阿裡巴巴主導的“華山版《Java 開發手冊》”簡介

我們來實際看個例子吧:一(四)OOP(面向對象程式設計)規約:

阿裡巴巴主導的“華山版《Java 開發手冊》”簡介

   這個例子已經講的很清楚了,不用我解釋你也應該懂了吧!雖然現在看起來挺簡單的,但是如果不是看了手冊,我平時也不會特别去注意這個問題。

  雖然這本書冊不是很厚,但是就算看完了,也不一定能在編碼時全部記住啊!那怎麼辦呢?《阿裡巴巴Java開發規約》掃描插件閃亮登場!妹妹你大膽地向前走,出現問題,哥哥我會告訴你!

4、《阿裡巴巴Java開發規約》掃描插件

    該插件由阿裡巴巴P3C項目組研發(孤盡老師對p3c的解析:P3C是反潛機代号,掃描水下隐患。)。這個項目組是阿裡巴巴開發愛好者自發組織形成的虛拟項目組,把《阿裡巴巴Java開發規約》強制條目轉化成自動化插件。你寫完代碼後,用該插件掃描一下,如果編碼不符合規約的就會給出不同程度的提醒,以及詳細的違反的規約條目,幫助你改正。

     該插件已開源到github,網址:https://github.com/alibaba/p3c(注:該書最新版的電子書也釋出在該項目中),內建插件分為IDEA和eclipse,安裝和使用裡面都有詳細的介紹,這裡就不多說了。

    還有很一個很重要的特點:同時支援中英文!如果你的英語不是很好,一開始你可能會看不懂英文的規範,那麼你可以用中文版的;如果你的英語比較好,或者是你已經使用該插件有段時間了、比較熟悉了、想和國際接軌,那麼你可以一鍵轉換為英文版(國際版)。

5、最近更新:2019.6.27 華山版《Java開發手冊》現身江湖

     最近比較大的更新為6月份的,有總結了一些新的規約,修改了部分内容,上線了新的手冊和插件。

(1)、封面(一眼望去,武俠之風甚濃!)

阿裡巴巴主導的“華山版《Java 開發手冊》”簡介

(2)、尾頁更新說明:

阿裡巴巴主導的“華山版《Java 開發手冊》”簡介

(3)、官方解讀:https://developer.aliyun.com/special/tech-java

阿裡巴巴主導的“華山版《Java 開發手冊》”簡介

備注:

(1)不知道你有沒有注意到,這裡其實有兩本書:

      一本是《 阿裡巴巴Java開發手冊》:由手冊後面的版本曆史我們可以知道,2016年12月07日,試讀版本首次對外釋出(後續版本可參考手冊)。2017年10月14日,杭州雲栖大會,Java代碼規約掃描插件全球首發儀式正式啟動,規範正式以插件形式公開走向業界,引領Java語言的規範之路。2017年12月20日,在北京國家會議中心舉辦的“2017雲栖大會·北京峰會”上,由電子工業出版社博文視點公司出版的《阿裡巴巴Java開發手冊》正式釋出。

     另一本是《碼出高效:Java 開發手冊》:2018年9月22日,在2018杭州雲栖大會上,召開新書釋出會。

(2)因為該手冊和項目受到越來越多人的喜愛與并且參與,是以後面将阿裡巴巴去掉,改名為《java開發手冊》。

(3)之是以命名為“華山版”,孤盡老師的解釋是:前面已經把能用的名字都用完了……(可不是嘛!1.0.0公開版、1.1.0正式版、1.2.0更新版、1.3.0終極版、1.4.0詳盡版),然後想帶大家領略中國的大好河山,決定後面以此為依據命名。

     還有一點就是馬爸爸早年對金庸武俠很是熱衷,創立阿裡初期把金庸文化融入到阿裡的企業文化中了;後來,第一次與金庸先生見面,又是“一見如故,相識恨晚”與金庸先生成為忘年交,與金庸先生的交流就更好了,多次邀請他到阿裡去參加一些大型的活動……。而華山在金庸武俠中又是武俠氛圍很濃重的名山,故有次名。(雖然不記得孤盡老師的原話了,但是大意類似……)

(4)為友善不會使用github的人,我把該項目下載下傳,并上傳到了CSDN和百度雲,有需求的自取。(包含開發手冊和項目)

(如果不懂github的)如果有CSDN積分,可光顧我的上傳的資源:阿裡巴巴Java開發手冊

阿裡巴巴主導的“華山版《Java 開發手冊》”簡介

 如果沒有積分,可在文末的百度網盤中下載下傳。

阿裡巴巴主導的“華山版《Java 開發手冊》”簡介

連結:https://pan.baidu.com/s/1piQcQzvUB3gZJnZJNOrOcg 

提取碼:8il9 

複制這段内容後打開百度網盤手機App,操作更友善哦