1、訪問控制層(Controller 層)中的方法命名方向是簡潔明了,向着自然化語言方向靠攏,比如“更新用戶”,建議命名為“updateUser”,而非“updateUserById”,實際上我們更新用戶一般都是根據主鍵 ID 來實現的,所以“updateUserById”更適宜放在 service 中;自然語言對於前端用戶(包括對第三方提供服務)更加的友好,更加的自然貼切,自然親和感更強、更舒適。
2、業務邏輯層(Service 層)的方法命名建議向我們程序員專業領域靠攏,向具體的實現細節傾斜,這樣在出現了問題后方便我們快速跟着查找定位問題。比如“刪除用戶”操作,你一定想到了 Controller 中的建議命名為“deleteUser”,此處的 Service 建議命名為“deleteUserById”,這其實是貫徹了“由自然語言向專業領域漸進的原則(由抽象向具體遞進原則)”。
3、數據訪問層(DAO 層)中的方法命名就要更加的具體啦!對於“模糊查詢用戶列表”這樣的操作,Controller 層建議命名為“queryUsers”,這利用了英語中單詞尾部"+s"表示復數的語法;Service 層中建議命名為“queryUserList”,這一點和上一條將的一致,在 queryUserList 方法中由於要處理分頁,對於 M有SQL5 這樣的數據庫而言,一般都需要我們寫兩條語句來完成此功能,一條是查詢總記錄數的,另一條是查詢業務數據的,所以在數據庫訪問層(DAO 層)就會涉及到兩個方法,建議的命名分別為“selectUserTotalCount”和“selectUserList”,相對於業務邏輯層(Service 層)就更加的具體、更加的明細,同時也遵循了 SQL 語法的規則,更利於代碼定位。
4、從上面這三層的命名建議來看,我們其實都遵循了“由抽象向具體遞進原則”。
5‘類中的變量能用基本數據類型的,建議采用基本數據類型,這樣的好處是內存開銷更小、訪問更快;原因是 JVM 中基本數據類型位於“JVM 方法棧”中,對象數據存儲於“堆”中,在類初始化后變量就不會再改變了,而對象是在動態變化中,棧相對於堆而言,執行效率更高。