正式專案中的一些編碼規範
阿新 • • 發佈:2019-02-17
- 方法名、引數名、成員變數、區域性變數都統一使用lowerCamelCase風格!
- 常量命名全部大寫,單詞間用下劃線隔開!
- 抽象類命名使用Abstract或Base開頭;異常類命名使用Exception結尾;測試類命名以它要測試的類的名稱開始,以Test結尾!
- POJO類中布林型別的變數,都不要加is,否則部分框架解析會引起序列化錯誤!
- 包名統一使用小寫,點分隔符之間有且僅有一個自然語義的英語單詞!
以上參考了阿里巴巴Java編碼規範,這也是最基本的!
在實際中![這是一個實體類包](http://img.blog.csdn.net/20170512085323174?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvbGl1emhpZ2FuZzgyOA==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast)
@Override
public String toString() {
return "AlbumDO{" +
"id='" + id + '\'' +
", name='" + name + '\'' +
'}';
}
而DTO可以根據需求,重寫toString()方法!
@Override
public String toString() {
return JSON.toJSONString(this,NotWriteDefaultValue);
}
實際專案總結:
- 引數控制在邏輯程式碼中判斷,不要使用預設攔截
- 前臺傳來的json引數在取引數值時進行返回null的情況判斷
- 在寫日誌時,應該保證日誌具有一定的含義,避免沒意義的log,比如只寫了插入失敗,應該具體描述插入什麼資料失敗了!
- 發生異常時,統一返回給客戶端的內容,並且記錄異常發生原因!禁止只是簡單的輸出“ e.printStackTrace();”而不進行任何的處理。
- 刪除資料時避免for迴圈刪除,最後使用批量刪除!
- 對於返回前臺的內容,建議寫一個返回類。基本的內容包括:狀態碼(code)、狀態描述(msg)、資料內容(data)等!
import static com.alibaba.fastjson.serializer.SerializerFeature.NotWriteDefaultValue;
//定義為泛型,方便處理各種型別的資料!
public class CommonResponseDTO<T> {
private int code = 10000;
private String msg = "Request success.";
private long totalCount;
private T data;
...省略了get、set方法
//重寫了toString()方法,方便轉化為前臺所需的json資料!
@Override
public String toString() {
//NotWriteDefaultValue:為了使得避免返回沒有值得資料資訊
return JSON.toJSONString(this,NotWriteDefaultValue);
}
}