命名规约
代码应清爽统一、便于阅读和维护,牺牲部分自己的代码习惯去提升团队整体的代码整洁是有必要的
统一的代码风格可以让开发工程师们没有严重的代码心理壁垒,每个人都可以轻松地阅读并快速理解代码逻辑,便于高效协作,逐步形成团队的代码“昧道”。
- 命名符合本语言规范(java中不允许_和$符号作为开始和结束)
- 命名体现代码元素特征(java↓)
- 类名大驼峰,方法名、变量名小驼峰
- 常量全大写用下划线连接
- 包名全小写,每个自然语义单词用.隔开,统一单数
- 抽象类以abstract或base开头,异常类以Exception结尾,测试类以Test结尾,枚举以Enum结尾(枚举成员以常量格式定义)
- 命名应是自解释的
常量
常量命名应该全部大写,单词间由下划线隔开。
无论如何都不允许任何魔法值直接出现在代码中,保证值出同源
变量
小驼峰格式命名
注:在定义类成员变量时,布尔类型变量命名不可加is前缀,否则可能会引起部分框架序列化异常。
代码展示风格
缩进,空格与空行
- 缩进:4格空格缩进(大部分idea默认或需要开启tab键的快速转换设置)
- 空格:
- 任何二目或三目运算符的左右必须加一个空格
- 双斜线注释与注释文本之间有且仅有一个空格
- 方法参数在定义和传入时,多个参数用逗号分隔,逗号后接一个空格
- 如果大空格{}内容体为空,则无须加换号和空格(一般不推荐出现空大括号的情况)
- 小括号与括号内容之间不加空格,else/catch前后加空格,if与(之间加空格
- 左大括号前需加空格
- 空行:空行用来分隔功能相似、逻辑内聚、意思相近的代码片段,使得程序布局更加清晰。
换行和高度
- 约定单行字符数不超过 120 个,以适配屏幕宽度
- 方法行数限制,建议除注释之外总行数不大于80行,超出则考虑优化
控制语句
- 控制或循环体中即使只有一行代码也需要加上大括号
- 条件表达式中不允许赋值,复杂的逻辑应抽取出来赋给独立的参数。
- 多次嵌套不可超过三层
- 尽量避免使用反逻辑符,不利于快速理解
代码注释
- 先要有注释
- 精简的注释,良好的代码应该是自解释的,应避免注释泛滥
- 代码修改的同时应更新注释,避免注释和代码不统一
注释格式
- Javadoc规范:类、类属性、类方法必须遵循Javadoc规范(/** */)
- 简单注释应放于代码上方,做到画龙点睛
枚举对象的注释是必须的(即使其是自解释的),注释内容不仅是含义,还可包括注意事项、业务逻辑
枚举的修改和删除都具有很大风险