????????昨晚發(fā)布項目,出現(xiàn)了一次不大不小的事故,后來排查原因竟然是一個很不起眼的地方,究其原因,就是代碼編寫不規(guī)范導致的。之后扒了部分代碼查看,發(fā)現(xiàn)有很多不規(guī)范的地方,盡管有的同學已經裝了alibaba的p3c,思前想后,有必要來一次代碼規(guī)范兜底。
? ? ? ? 昨晚花了幾個小時,看了alibaba java開發(fā)手冊規(guī)范,作為6年開發(fā)經驗的老兵,覺得還是有很多值得學習的,簡單總結下幾點重要的吧。
1、關于命名規(guī)范,其實沒什么好說的,作為程序員最基本的技能,變量、常量、工程名、類名、包名等
2、常量定義,這里重點說下枚舉? ??
? ? ? ? 對于有多個屬性的常量,推薦使用枚舉定義,如后端返回前端的錯誤碼
? ? ? ? 一般有兩個屬性 code、msg,類似這種

3、代碼格式沒有特別關注的地方,大家可以使用IDE快捷格式化
4、OOP規(guī)約,重點關注幾點:
? ?一是POJO的定義,重寫構造方法、toString,equals等太麻煩,推薦使用lombok直接在類名上加上@Data注解就可以了,當然還有其他注解,有興趣可以了解下。
? ?二是對象比較,包裝類比較建議使用Objects.equals(a,b)
? ?三是NPE問題,可以使用Optional類,代碼更加優(yōu)雅
?5、關于集合,主要是定義、轉換、刪除