第六节 编码规约笔记
熵增定律
任何系统在没有外力有序干预下,一定会往混乱无序的方向发展
现代软件是多人协作的产物。
Java 规约的缘起
代码规范不一致导致代码生产力损耗。
命名风格与代码格式--两个要求
命名体验代码元素特征,如DO类名以DO结尾,实现类以impl结尾。
命名最好望文知意
常量定义设计与规约
常量的复用层次共有五层:跨应用共享常量,应用内共享常量,子工程内共享常量,包内共享常量,类内共享常量。
跨应用共享常量:放置在SDK中。
应用内共享常量:防止在一方库中。
子工程内部共享常量:在当前子工程的constant目录下。
包内共享常量:在当前包下单独的constant目录下。
类内共享常量:直接在类内部private static final 定义。
常量明明应该全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长
如:最大库存数量明明:MAX_STOCK_COUNT
注释规约
注释作用:
提高代码可读性
使程序条例清晰
方便后期代码维护
方便程序员间的交流沟通
生成帮助文档
警示作用,防止踩坑
科学计数法的用途
表示极大数
表示极小数
浮点数的表示范围
如:float 比特数为32位,有效数字为7位,数字范围为-3.4E+38 ~ 3.4E+38
根据规约所说,二进制无法精确表示绝大部分小数,所以计算的时候要用BigDecimal的加减乘除计算,BigDecimal会自动截断多余过多小数。
前后端设计与规约
对需要使用超大整数的场景,服务端一律使用String字符串类型返回,禁止使用Long类型。
原因是前段JS获取数值类型的数据会自动转换为Number类型,等同于后端的Double,超出2的53次方的数字精度会丢失,除非是2的指数。
更多内容需要看规约
正在看,有很多我们平时没注意的内容都写在了规约里。比如if条件语句,括号左右两边空格 ,内容里的空格等。