为何需要编码规约?
首先现代软件是多人协作的产物,你的代码80%的时间实在维护状态的无形协作,任何系统都不是一天崩溃的,代码也不是一天变乱的。一个好的编码规约可以达到如下效果
- 减少代码的维护成本
- 改善可读性
- 提高团队开发的合作效率
- 提炼出更加严谨的思维
- 身心愉快
代码格式与命名规范
命名体现代码元素特征
- 抽象类命名使用Abstract或者Base开头
- 异常类命名使用Exception结尾
- 测试类命名以它要测试的类名开始,以Test结尾
- 类型与中括号紧挨相连来定义数组
- 枚举类名带上Enum后缀,枚举成员名词需要全大写,单词间用下划线隔开
命名最望文知义
- 某些不规范的缩写会导致理解成本增加,例如condition缩写成condi
- 主流的编程语言基本上以英语为基础,望文知义的“文”指的是英文
- 避免出现拼音和英文混用的命名
常量的设计
常量的复用层次有五层:
- 跨应用共享常量:放置在SDK中
- 应用内共享常量:放置在一方库中
- 子工程内共享常量:方在当前子工程的constant目录下
- 包内共享常量:方在当前包下单独的constant目录下
- 类内共享常量:直接在类内部 private static final定义
常量定义设计与规约
常量命名应该全部大写,单词之间用下滑钱隔开,力求语义表达完整清楚,举例:最大库存数量MAX_STOCK_COUNT ,缓存失效时间命名CACHE_EXPIRED_TIME, 可以参考JDK源码中的常量定义
注释
好的注释可以提高代码可读性,使程序条理清晰,方便日后对代码进行维护,也方便了程序员之间的沟通, 注释方便了利用工具生成项目文档,最后还能起到警告的作用防止自己或小伙伴踩坑。
注释的几种类型
- 附加说明: 说明某条业务规则 或者架构约定
- 部分与整体:说明此处代码在哪个环节什么位置
- 风险提示:说明todo和注意事项 避免踩坑
前后端规约
前后端交互的API,需要明确协议、域名、路径、请求方法、请求内容、状态码、响应体。
JAVA与JS对数字类型变量处理方式不同。如果数字太大或者有精度要求,最好使用String类(关于浮点数计算规则)