一:数据库
1.数据库的设计遵循三大范式(即每个列保持原子性,每列都和主键相关,每列都和主键直接相关而不是间接相关)
2.表字段使用bit类型的时候字段不可用is开头命名。遵循阿里规范,禁止使用\"is\"开头命名boolean类型变量可以避免语义歧义和与getter方法的冲突,提高代码的质量和可读性。
为什么禁用is开头命名boolean类型变量?
1. 语义歧义
使用\"is\"开头命名boolean类型变量可能导致语义歧义。在英语中,\"is\"通常用于表示一个判断性的动词,例如\"isRunning\"表示一个正在运行的状态。然而,在编程中,boolean类型变量本身就是用于表示一个逻辑判断的结果,因此使用\"is\"开头会导致冗余和混淆。
2. 与getter方法冲突
在Java等面向对象的编程语言中,通常会为boolean类型的变量提供一个对应的getter方法,以便其他代码可以获取该变量的值。按照命名惯例,getter方法的命名通常是以\"get\"开头,后面跟着变量名。如果boolean类型变量以\"is\"开头命名,那么getter方法的命名就会变得冗长和不自然,例如\"isRunning()\"。相比之下,如果变量名不以\"is\"开头,getter方法的命名会更加简洁和自然,例如\"getRunning()\"。
示例说明
示例1:使用\"is\"开头命名boolean类型变量
boolean isRunning = true; public boolean isRunning() { return isRunning; }
在这个示例中,变量名\"isRunning\"以\"is\"开头命名,与getter方法\"isRunning()\"冲突。这样的命名方式不符合阿里规范,会导致代码可读性下降。
示例2:不使用\"is\"开头命名boolean类型变量
boolean running = true; public boolean isRunning() { return running; }
在这个示例中,变量名\"running\"不以\"is\"开头命名,与getter方法\"isRunning()\"不冲突。这样的命名方式符合阿里规范,提高了代码的可读性和可维护性。
综上所述,遵循阿里规范,禁止使用\"is\"开头命名boolean类型变量可以避免语义歧义和与getter方法的冲突,提高代码的质量和可读性。
3.公共字段统一,方便管理和代码可读性。
4.主子表的表名称,在命名的时候应该能明确看出主子表的关系。例如 tty_shop(门店表)和tty_shop_address (门店地址表)。
5.在表设计的时候,推荐设置update_time字段随表数据更新而更新。
二:代码规范
1.代码中不要使用魔法值。可用枚举类,接口类代替。
2.尽量使用增强for循环(建议)
3.for循环中尽量不要查询、更新数据库。
3.包装类型间的相等判断应该用equals,而不是'!=' 或'=='。
4.代码无引用的及时清理或注释。
5.根据阿里巴巴开发手册中在表关联查询的时候禁止超过三张表join。
6.多写注释,提高代码的可读性。
7.没有引用的包及时移除