代码规范
1.命名选择有意义的名字
- 包的命名(全部小写,可用域名定义)
- 类的命名(单词首字母大写,驼峰命名法)
- 方法的命名 (首字母小写,字母开头大写,驼峰命名法)
- 常量的命名 (全部大写 ,常加下划线)
2.注释规范(单行注释、块注释、文档注释)
- 常量和枚举使用文档注释,写明属性含义
- 方法和逻辑处理的注释是为了给自己长久的备注以及他人读取代码、轮岗的一种便捷。
3.代码改善
- 临时变量生成进行初始化
- if、else减少嵌套关系,尽量使用if 表达式明确条件后逻辑处理,不要在else实现逻辑. PS : 条件反转
- 字符串匹配常量,常量尽量在equals 前, 例如:“1”.equals(temp)。
在jdk7以后,java引入了比较两个对象的新的方法,Objects.equals(Object a, Object b) ,非常方便,直接调用即可,避免空指针异常。 - 避免使用魔法数(有实际意义,但是无法被表达出来的数字)
建表规则
1.命名规范
- 数据库、表、字段等所有名称全部小写命名,禁止出现大写,可采用字母下划线组合
- 禁止使用关键字
- 建议单库不超过300-400张表
2.建表规范
- 创建表的时候对经常要查询的列添加索引或者组合索引
- 创建表的时候对字段和表添加COMMENT
- 数据中尽量保留一个基于日期时间的索引,方便以后时间范围内查找(如:
EXPLAIN
SELECT * FROM t_edp_buddy_info_copy
WHERE create_date >= str_to_date(‘2018-12-01’, ‘%Y-%m-%d’)
)
3.sql注意项:
改写OR语句为in,避免负向查询和% 前缀模糊查询
- Select * from opp WHERE phone=‘12347856’ or phone=‘42242233’
优化为:Select * from opp WHERE phone in (‘12347856’ , ‘42242233’) - Select * from opp WHERE phone=‘010-88886666’ or cellPhone=‘13800138000’;
优化为:Select * from opp WHERE phone=‘010-88886666’
union Select * from opp WHERE cellPhone=‘13800138000’; - select * from post WHERE title like ‘%北京%’ ;
建议优化: select * from post WHERE title like ‘北京%’ ;