编码规约
「这是我参与11月更文挑战的第5天,活动详情查看:2021最后一次更文挑战」
1. 编码规约的缘起
增熵定律: 只要我们没有外力干预代码规范,我们的代码总有一天无可救药
编码规约存在的意义
一个好的编码规约:
- 减少代码的维护陈本
- 改善可读性
- 提高团队开发的合作效率
- 锻炼出更加严谨的思维
- 身心愉快
2. 代码风格与命名风格
命名风格与代码格式
命名体现代码元素特征:
- 抽象类名水用使用Abstract或Base开头
- 异常类命名使用Exception结尾
- 测试类命名以它要测试的类名开始,以Test结尾
- 类型与中括号紧挨相连来定义数组
- 枚举类名带上Enum后缀,枚举成员名称需要全大写,单词间用下划线隔开
命名最好望文知义
- 某些不规范的缩写会导致理解成本增加,比如condition缩写成condi
- 主流的编程语言基本上以英文为基础,此处望文知义的“文“指的是英文
- 某业务代码中,曾经出现过DaZePromotion
3. 如何定义常量
常量定义设计与规约
- 跨应用共享常量:放置在SDK中
- 应用内共享常量:放置在一方库中
- 子工程内部共享常量:即在当前子工程的 constant 目录下
- 包内共享常量:即在当前包下单独的 constant 目录下
- 类内共享常量:直接在类内部 private static final 定义
4. 注释的误区
注释的作用
- 提高代码可读性
- 使程序条理清晰
- 方便后期代码维护
- 方便程序员间的交流沟通
- 生成帮助文档
- 警示作用,防止采坑
5.前后端设计与规约
前后端联合开发的纠结点
- 接口名称和风格
- 如果空集合,返回null还是空集合
- json组装格式
- 后台异常的失败提示
- 错误信息与用户提示透出
需要注意的点
- 前后端交互的API,需要明确协议、域名、路径、请求方法、请求内容、状态码、响应体
- Java与JS对数字类型变量处理方式不同。如果数字太大或者有精度要求,最好使用String类型