java代码编写常用规范
- 代码中的命名均不能以下划线或者美元符号开始,同时也不能以下划线或者$符号结束;
- 类名使用UpperCamelCase(大骆驼拼写法)风格;
- 方法名、参数名、成员变量、局部变量统一使用lowerCamelCase(小骆驼拼写法)风格;
- 常量命名全部大写,单词间用下划线隔开;
- 避免在子父类的成员变量之间、或者不同代码块的局部变量之间采用完全相同的命名,使可理解性降低;
- 为达到代码自解释的目标,任何自定义编程元素在命名时,尽量使用完整的单词组合表达;
- 在常量与变量的命名时,表达类型的名词放在词尾,以此提高辨识,比如:startTime、nameList
- 如果大括号内为空,简洁地写成{}即可,大括号中间无需换行和空格;如果是非空代码块:
- 左大括号前不换行;
- 左大括号后换行;
- 右大括号前换行;
- 右大括号后还有 else 等代码则不换行;表示终止的右大括号后必须换行;
- 左小括号和右边相邻字符之间不需要空格;右小括号和左边相邻字符之间也不需要空格;而左大括号前需要加空格;
- if / for / while / switch / do 等保留字与左右括号之间都必须加空格;
- 任何二目、三目运算符的左右两边都需要加一个空格;
- 采用4个空格缩进,禁止使用 Tab 字符;
- 单个方法的总行数不超过80行;
- 代码逻辑分清个性和共性,单独的逻辑独立出来成为额外方法,使主干代码更加晰;共性逻辑抽取成为共性方法,便于复用和维护;
- 没有必要增加若干空格来使变量的赋值等号与上一行对应位置的等号对齐;
- 使用索引访问用 String 的 split 方法得到的数组时,需做最后一个分隔符后有无内容的检查,
- 否则会有抛 IndexOutOfBoundsException 的风险;
- 创建线程或线程池时请指定有意义的线程名称,方便出错时回溯;
- 线程池不允许使用 Executors 去创建,而是通过 ThreadPoolExecutor 的方式,这样的处理方式让写的同学更加明确线程池的运行规则,规避资源耗尽的风险;
-
在 if / else / for / while / do 语句中必须使用大括号;
-
类、类属性、类方法的注释必须使用 Javadoc 规范,使用 /** 内容 */ 格式,不得使用 // xxx方式;
-
方法内部单行注释,在被注释语句上方另起一行,使用 // 注释。方法内部多行注释使用 /* */。注释,注意与代码对齐;
-
Java 类库中定义的可以通过预检查方式(防御势编程)规避的RuntimeException 异常不应该通过 catch 的方式来处理,比如NullPointerException,IndexOutOfBoundsException;
-
异常捕获后不要用来做流程控制,条件控制;
-
这么多我们也不可能一时间都记住,因此就有了阿里规范的插件,可以安装在我们的编译器上实时的监测;
参考于:https://blog.csdn.net/weixin_42601136/article/details/129601840?utm_source=miniapp_weixin