熵增定律:若是没有外力的干预,万物都会往混乱的方向走去,代码也是如此。
java规约缘起:
帕金森琐碎定律:开会的时候,鸡毛蒜皮的事情,每个人都会发表意见,但是核心的问题就不会有什么人讲。即80%的时间都花费在无效和琐碎的事情上。
编码规约存在的意义:
- 减少代码的维护成本;
- 改善可读性;
- 提高团队开发的合作效率;
- 锻炼出更加严谨的思维;
- 身心愉快
代码格式与命名风格——两个要求
- 命名体现代码元素特性:
- 抽象类命名使用Abstract或Base开头
- 异常类命名使用Exception结尾
- 测试类命名以它要测试的类名开始,以Test结尾
- 类型与中括号紧挨相连来定义数组
- 枚举类名加上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开。
- 命名最好望文知义
- 某些不规范的编写会导致理解成本增加,比如condition缩写成condi
- 主流的编程语言基本上以英语为基础,此处望文如义的“文”指的是英文
- 某业务代码中,曾经出现过DaZePromotion
常量定义与设计规约
- 不允许任何魔法值(即未经预先定义的常量)直接出现在代码中
- 统一常量一定要统一的管理,统一的维护,统一的使用
- 【推荐】常量的复用层次有五层:跨应用共享常量、应用内共享常量、子工程内共享常量、包内共享常量、类内共享常量
- 跨应用共享常量:放置在SDK中
- 应用内共享常量:放置在一方库中
- 子工程内部共享常量:即在当前子工程的constant目录下
- 包内共享常量:即在当前包下单独的constant目录下
- 类内共享常量:直接在类内部private static final定义
- 常量命名应该全部大写,单词间用下划线隔开,力求语义表达完整清除,不要嫌名字长,比如
- 最大库存数量命名:MAX_STOCK_COUNT
- 缓存失效时间命名:CACHE_EXPIRED_TIME
- 用户注册错误:USER_REGISTER_ERROR
注释规约
注释的作用:
- 提高代码可读性;
- 使程序条例清晰;
- 方便后期代码维护;
- 方便程序员间的交流沟通;
- 方便后期代码维护;
- 生成帮助文档;
- 警示作用,防止踩坑;