速來,圍觀阿里出品的嵩山版Java開發(fā)手冊
說起嵩山,我就想起喬峰,想起慕容復(fù),以及他們兩位老爹在少林寺大戰(zhàn)的場景。當(dāng)然了,最令我印象深刻的就是那位默默無聞,卻一鳴驚人的掃地僧啊。這次,阿里出品的嵩山版 Java 開發(fā)手冊的封面就有一個掃地僧,唉,這就厲害了呀!

嵩山少林寺位于河南省登封市,始建于北魏太和十九年,號稱“天下第一名剎”。這意味著什么?阿里出品的嵩山版 Java 開發(fā)手冊,是迄今為止最重量級的。
上個版本叫泰山版,更新于 2020 年 4 月 22 號,版本出來的第一時間,我就給大家分享了。我相信,看過的小伙伴一定大有所獲。畢竟《阿里巴巴 Java 開發(fā)手冊》這本小冊子雖然只有幾十頁,但講的主要是一些典型的開發(fā)規(guī)約、編程規(guī)范、以及最佳實踐,已經(jīng)成為業(yè)界普遍遵循的開發(fā)規(guī)范。
那新版主要更新了哪些內(nèi)容呢?我來挑一些重點,和大家分享下。
01、新增前后端規(guī)約 14 條
前后端我都開發(fā)過,所以就挑一些我認為比較關(guān)鍵的規(guī)約來給大家推薦一下。好的規(guī)約能夠讓前后端工程師在開發(fā)的過程中減少很多不必要的麻煩,畢竟現(xiàn)在都追求前后端分離,接口對接的過程中就必須得有一定的規(guī)則遵守,不然扯起皮了就不妙了。
前后端交互的 API,需要明確協(xié)議、域名、路徑、請求方式、請求內(nèi)容、狀態(tài)碼、響應(yīng)體。
前后端數(shù)據(jù)列表相關(guān)的接口,如果為空,就是沒有數(shù)據(jù)的時候,應(yīng)該返回空數(shù)組 [] 或者空集合 {},這樣可以省去判 null 的操作。
服務(wù)端發(fā)生錯誤時,返回給前端的響應(yīng)信息必須包含 HTTP 狀態(tài)碼,errorCode、 errorMessage(方便追蹤錯誤)、用戶提示信息四個部分。
涉及到超大整數(shù)的場景,服務(wù)端應(yīng)該使用 String 類型返回,避免使用 Long。
服務(wù)端返回的數(shù)據(jù),盡量使用 JSON 而非 XML 格式。
02、新增禁止任何歧視性用語的約定

雖然互聯(lián)網(wǎng)越來越開放,但有些用語還是要注意一下(盡量和諧)。記得之前 MySQL 的一些關(guān)鍵字都被迫做了調(diào)整。
03、新增涉及敏感操作的情況下日志需要保存六個月的約定

涉及到法律的地方還是在開發(fā)的時候注意一下。
04、修正 BigDecimal 類中關(guān)于 compareTo 和 equals 的等值比較
關(guān)于這一點,我之前在文章里詳細地闡述了,浮點數(shù)之間的比較不能使用“==”操作符,而 BigDecimal 之間不能使用 equals() 比較。

05、修正 HashMap 關(guān)于 1024 個元素擴容的次數(shù)
泰山版說是擴容 7 次。

嵩山版修正為擴容 8 次。

06、修正架構(gòu)分層規(guī)范與相關(guān)說明
泰山版的應(yīng)用分層如下圖所示。

嵩山版的應(yīng)用分層修改為如下圖所示。

07、最后
如果你想成為一名優(yōu)秀的 Java 工程師,那么這份手冊上的內(nèi)容幾乎是必須要掌握的。是不是已經(jīng)迫不及待想要下載這份手冊了?
微信搜索「沉默王二」回復(fù)「手冊」就可以免費獲取了,當(dāng)然你也可以掃描下面的二維碼后回復(fù),趕緊趕緊。
最后,我衷心地祝福你,希望你能學(xué)有所成,to be better,奧利給!
