【強制】表名、欄位名必須使用小寫字母或數位 , 禁止出現數位開頭,禁止兩個下劃線中間只出現數位。資料庫欄位名的修改代價很大,因為無法進行預釋出,所以欄位名稱需要慎重考慮。說明:MySQL 在 Windows 下不區分大小寫,但在 Linux 下預設是區分大小寫。因此,資料庫名、表名、欄位名,都不允許出現任何大寫字母,避免節外生枝。
【強制】表名不使用複數名詞。說明:表名應該僅僅表示表裡面的實體內容,不應該表示實體數量,對應於 DO 類名也是單數形式,符合表達習慣。
【強制】禁用保留字,如 desc 、 range 、 match 、 delayed 等,請參考 MySQL 官方保留字。
【參考】 ( 分層例外處理規約 ) 在 DAO 層,產生的異常型別有很多,無法用細粒度的異常進行 catch ,使用 catch(Exception e) 方式,並 throw new DAOException(e) ,不需要列印紀錄檔,因為紀錄檔在 Manager / Service 層一定需要捕獲並打到紀錄檔檔案中去,如果同臺伺服器再打紀錄檔,浪費效能和儲存。在 Service 層出現異常時,必須記錄出錯紀錄檔到磁碟,儘可能帶上引數資訊,相當於保護案發現場。如果 Manager 層與 Service 同機部署,紀錄檔方式與 DAO層處理一致,如果是單獨部署,則採用與 Service 一致的處理方式。 Web 層絕不應該繼續往上拋異常,因為已經處於頂層,如果意識到這個異常將導致頁面無法正常渲染,那麼就應該直接跳轉到友好錯誤頁面,加上使用者容易理解的錯誤提示資訊。開放介面層要將例外處理成錯誤碼和錯誤資訊方式返回。
【參考】分層領域模型規約:
DO(Data Object) :與資料庫表結構一一對應,通過 DAO 層向上傳輸資料來源物件。
DTO(Data Transfer Object) :資料傳輸物件, Service 或 Manager 向外傳輸的物件。
BO(Business Object) :業務物件。由 Service 層輸出的封裝業務邏輯的物件。
AO(Application Object) :應用物件。在 Web 層與 Service 層之間抽象的複用物件模型,極為貼近展示層,複用度不高。
【強制】二方庫的新增或升級,保持除功能點之外的其它 jar 包仲裁結果不變。如果有改變,必須明確評估和驗證,建議進行 dependency : resolve 前後資訊比對,如果仲裁結果完全不一致,那麼通過 dependency : tree 命令,找出差異點,進行< excludes >排除 jar 包。