阿里出品的最新版 Java 開發手冊,嵩山版,掃地僧

沉默王二發表於2020-08-09

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

嵩山少林寺位於河南省登封市,始建於北魏太和十九年,號稱“天下第一名剎”。這意味著什麼?阿里出品的嵩山版 Java 開發手冊,是迄今為止最重量級的。

上個版本叫泰山版,更新於 2020 年 4 月 22 號,版本出來的第一時間,我就給大家分享了。我相信,看過的小夥伴一定大有所獲。畢竟《阿里巴巴 Java 開發手冊》這本小冊子雖然只有幾十頁,但講的主要是一些典型的開發規約、程式設計規範、以及最佳實踐,已經成為業界普遍遵循的開發規範。

那新版主要更新了哪些內容呢?我來挑一些重點,和大家分享下。

01、新增前後端規約 14 條

前後端我都開發過,所以就挑一些我認為比較關鍵的規約來給大家推薦一下。好的規約能夠讓前後端工程師在開發的過程中減少很多不必要的麻煩,畢竟現在都追求前後端分離,介面對接的過程中就必須得有一定的規則遵守,不然扯起皮了就不妙了。

  • 前後端互動的 API,需要明確協議、域名、路徑、請求方式、請求內容、狀態碼、響應體。

  • 前後端資料列表相關的介面,如果為空,就是沒有資料的時候,應該返回空陣列 [] 或者空集合 {},這樣可以省去判 null 的操作。

  • 服務端發生錯誤時,返回給前端的響應資訊必須包含 HTTP 狀態碼,errorCode、 errorMessage(方便追蹤錯誤)、使用者提示資訊四個部分。

  • 涉及到超大整數的場景,服務端應該使用 String 型別返回,避免使用 Long。

  • 服務端返回的資料,儘量使用 JSON 而非 XML 格式。

02、新增禁止任何歧視性用語的約定

雖然網際網路越來越開放,但有些用語還是要注意一下(儘量和諧)。記得之前 MySQL 的一些關鍵字都被迫做了調整。

03、新增涉及敏感操作的情況下日誌需要儲存六個月的約定

涉及到法律的地方還是在開發的時候注意一下。

04、修正 BigDecimal 類中關於 compareTo 和 equals 的等值比較

關於這一點,我之前在文章裡詳細地闡述了,浮點數之間的比較不能使用“==”操作符,而 BigDecimal 之間不能使用 equals() 比較。

我去,臉皮厚啊,竟然使用==比較浮點數?

05、修正 HashMap 關於 1024 個元素擴容的次數

泰山版說是擴容 7 次。

嵩山版修正為擴容 8 次。

06、修正架構分層規範與相關說明

泰山版的應用分層如下圖所示。

嵩山版的應用分層修改為如下圖所示。

07、最後

如果你想成為一名優秀的 Java 工程師,那麼這份手冊上的內容幾乎是必須要掌握的。是不是已經迫不及待想要下載這份手冊了?

微信搜尋「沉默王二」回覆「手冊」就可以免費獲取了,當然你也可以掃描下面的二維碼後回覆,趕緊趕緊。

最後,我衷心地祝福你,希望你能學有所成,to be better,奧利給!

相關文章