现代软件架构的复杂性需要协同开发完成,如何高效地协同呢?
答案是:制定一整套统一的规范。
无规矩不成方圆,无规范难以协同,比如,制订交通法规表面上是要限制行车权,实际上是保障公众的人身安全,试想如果没有限速,没有红绿灯,谁还敢上路行驶?
本文将从Java代码的命名规范这一维度,来探讨一下,如何写出健壮的、可读性强的代码,提高项目的可维护性。最重要的是提高我们的编程幸福感。
正例:应用工具包名为com.java.util、类名为StringUtils
正例:UserLoginCheckService/UserDO
反例:userlogincheckservice/UserDo
正例:userServiceImpl
反例:userserviceimpl
正例:MAX_BOOK_COUNT/CACHE_EXPIRED_TIME
反例:MAX_COUNT/EXPIRED_TIME
正例:在 JDK 中,表达原子更新的类名为:AtomicReferenceFieldUpdater
反例:String a = "李四"; // 天啦噜,鬼知道你这个a是啥意思啊
正例:
int[] array = new int[10];
int array[] = new int[10]; // 不建议这样写
正例:AbstractService/CommonException/DemoTest
反例:AbstractClass“缩写”命名成 AbsClass;condition“缩写” 命名成 condi,此类随意缩写严重降低了代码的可阅读性。
说明:将设计模式体现在名字中,有利于阅读者快速理解架构设计理念。
正例:public class OrderFactory;
public class LoginProxy;
public class ResourceObserver;
正例:CacheServiceImpl实现CacheService接口
正例:JDK中的Comparable接口
说明:Long a = 2l;写的是数字的 21,还是 Long 型的 2 ??
正例:
public static final ORDER_REDIS_KEY_PREFIX = "orderId_";
String orderRedisKey = ORDER_REDIS_KEY_PREFIX + orderId;
反例:
String redisKey = "orderId_" + orderId;
正例:枚举名字为ProcessStatusEnum的成员名称:SUCCESS / UNKNOWN_REASON
原文:https://www.cnblogs.com/sum-41/p/11096732.html