大數據

下載 | 新版Java開發手冊有哪些亮點?

image.png
在前後端程序員分工協作愈加普遍的今天,不但帶來了效率上面的提升,也帶來了諸多協作上的問題,本次開發手冊新增的前後端規約旨在解決前後端程序員協作上的問題以及讓大家規避常見的易於疏漏的錯誤。

正所謂“沒有規矩,不成方圓”,大到前後端API的約定,小到前後端的時間格式約定,在現在的前後端協作當中存在著這樣的問題,用蘋果的宣傳語來講便是“唯一的不同,是處處不同”,每個系統都對應著自己的一套前後端約定非常不利於維護,混亂的約定更讓系統接手與維護的人頭痛不堪。規矩並非枷鎖,而是老司機們上路的安全帶,有了它,才能讓我們在程序的世界裡安全的馳騁,去最大可能的提升效率,去創造更大的奇蹟。

API是前後端交互的基準石

在前後端交互的過程當中,API是重中之重,一個好的API應該能夠明確協議、域名、路徑、請求方法、請求內容、狀態碼、響應體等7個重要要素。一個好的API約定會讓前後端雙方能夠為接下來的開發工作節省許多時間和溝通的成本,是我們前後端協作的基石。

神奇的大整數精度丟失

不同於後端程序的各種數字類型的明確區分,在JS的世界裡數字只有一種類型,那就是Number類型,它其實是雙精度浮點數,因此,它造成的麻煩總是使人困惑和痛苦,當我們將一個過大的整數傳遞給前端的時候,想象一下當它超過了雙精度浮點數能最精確表示範圍的時候會出現怎麼樣的悲劇吧?欲知詳情如何,請見嵩山版開發手冊吧。

系統錯誤信息與用戶提示信息傻傻分不清楚

你是否曾經把異常帶到了頁面上?你是否把系統的錯誤提示發給了一臉懵的用戶?今天,前後端規約將助你擺脫這樣尷尬的境遇。用戶體驗不僅僅是產品設計需要考慮的部分,作為技術人的我們更應該注重產品本身的質量,因此用戶提示一定要與系統本身的錯誤區分開,給用戶更友好的提示也是系統魯棒性的象徵,另外發生錯誤的時候返回給前端的信息除了上面兩種錯誤信息再搭配上錯誤碼與HTTP狀態碼一起食用更香哦。

長度微妙的URL參數傳遞

很多場景需要我們用URL來做前後端的參數傳遞,但是比較微妙的是URL有最長長度的限制,而眾多瀏覽器對URL最大長度限制卻是不同的。不明確的地方都是不易察覺的深坑,不知道栽進去了多少的仁人志士,為了規避這樣的深坑,前後端規約中特別指出,對於URL長度限制採用所有瀏覽器限制的最小值,為2048字節。

測試題大闖關

上面簡單介紹了一下本次《Java 開發手冊(嵩山版)》的一些有趣知識給大家品嚐,更詳細的內容還請參閱開發手冊中的內容,相信能夠給大家帶來滿滿的收穫。“紙上得來終覺淺,絕知此事要躬行”,本次我們還特別綜合過往的規約和新增修訂的內容給大家帶來了一套試題,相信小夥伴們都迫不及待的要來試試啦,那麼接下來就讓我們開啟一場激動人心的規約大闖關吧!

1 服務端發生錯誤時,返回給前端的響應信息必須包含以下哪幾個部分?
A. HTTP狀態碼
B. errorCode
C. errorMessage
D. 用戶提示信息

2 以下哪些時間類型在規約中不允許在程序中使用?
A. java.sql.Date
B. java.sql.Time
C. java.sql.Timestamp
D. java.util.Date

3 以下哪些選項不符合前後端交互的JSON格式數據中key的編碼風格:
A. assetStatus
B. error_message
C. 3days
D. msg

4 前後端的時間格式統一為____,統一為GMT。
A. yyyy-MM-dd HH:mm:ss
B. yyyy-mm-dd HH:mm:ss
C. YYYY-MM-dd HH:mm:ss
D. yyyy-mm-DD HH:MM:ss

5 HTTP請求通過URL傳遞參數時,不能超過多少字節?
A. 1024字節
B. 2048字節
C. 4096字節
D. 8192字節

6 前後端交互的API,以下說法正確的是:
A. 請求的路徑可以使用動詞、名詞、推薦使用名詞單數
B. URL路徑中單詞要使用駝峰分隔
C. 路徑禁止攜帶表示請求內容類型的後綴
D. 響應體body可放置多種數據類型,由Content-Type頭來確定

7 對於日誌的相關描述,下面正確的有?
A. 所有日誌文件至少保存7天
B. 根據國家法律,網絡運行狀態、網絡安全事件、個人敏感信息操作等相關記錄,留存的日誌不少於六個月,並且進行網絡多機備份
C. 應用中的擴展日誌(如打點、臨時監控、訪問日誌等)命名方式:appName_logType_logName.log
D. 在日誌輸出時,字符串變量之間的拼接使用佔位符的方式

8 以下說明屬於正確的前後端規約內容的有哪幾項?
A. 推薦在接口路徑中加入版本號,來進行相應的版本控制
B. 服務端返回的數據,推薦使用JSON格式而非XML
C. 服務器返回信息必須被標記是否可以緩存,如果緩存,客戶端可能會重用之前的請求結果
D. HTTP請求通過body傳遞內容時,必須控制長度,超出最大長度後,後端解析會出錯

9 常見的HTTP狀態碼以下描述錯誤的是:
A. 401: 請求要求身份驗證,常見對於需要登錄而用戶未登錄的情況
B. 402:服務器拒絕請求,常見於機密信息或通過複製其它登陸用戶鏈接訪問服務器的情況
C. 501:服務器不支持請求的功能,無法完成請求
D. 502: 服務器產生內部錯誤

10 對於前後端傳遞整數的場景,當十進制整數大於等於多少位時,服務端需要採用String類型返回防止精度丟失?
A. 14
B. 15
C. 16
D. 17

11 對以下關於錯誤碼敘述正確的是?

A. 錯誤碼應該體現錯誤等級以及其版本號
B. 錯誤碼在某些特殊場景下可以直接輸出給用戶作為提示信息使用
C. 錯誤碼之外的業務獨特信息由error_message來承載,而不是讓錯誤碼本身涵蓋過多具體業務屬性
D. 錯誤碼使用者避免隨意定義新的錯誤碼

下載《Java開發手冊(嵩山版)》,"點擊這裡”,立即下載吧!

Leave a Reply

Your email address will not be published. Required fields are marked *