类名使用 UpperCamelCase 风格.
方法名、参数名、成员变量、局部变量都统一使用 lowerCamelCase 风格,驼峰.
常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字 长。正例:MAX_STOCK_COUNT / CACHE_EXPIRED_TIME
包名统一使用小写,点分隔符之间有且仅有一个自然语义的英语单词。包名统一使 用单数形式,但是类名如果有复数含义,类名可以使用复数形式
在常量与变量的命名时,表示类型的名词放在词尾,以提升辨识度。
正例:startTime / workQueue / nameList / TERMINATED_THREAD_COUNT 反例:startedAt / QueueOfWork / listName / COUNT_TERMINATED_THREAD
内部的实现类用Impl 的后缀与接口区别。
注释的双斜线与注释内容之间有且仅有一个空格。
// 这是示例注释,请注意在双斜线之后有一个空格
String param = new String()
单行字符数限制不超过 120 个,超出需要换行,换行时遵循如下原则
单个方法的总行数不超过 80 行。
不同逻辑、不同语义、不同业务的代码之间插入一个空行分隔开来以提升可读性
当 switch 括号内的变量类型为 String 并且此变量为外部参数时,必须先进行 null判断
在高并发场景中,避免使用”等于”判断作为中断或退出的条件。
说明:如果并发控制没有处理好,容易产生等值判断被“击穿”的情况,使用大于或小于的区间判断条件来代替
避免采用取反逻辑运算符。 说明:取反逻辑不利于快速理解,并且取反逻辑写法必然存在对应的正向逻辑写法
类、类属性、类方法的注释必须使用 Javadoc 规范,使用/**内容*/格式
方法内部单行注释,在被注释语句上方另起一行,使用//注释。方法内部多行注释使用/* */注释,注意与代码对齐
所有的枚举类型字段必须要有注释,说明每个数据项的用途。
谨慎注释掉代码。在上方详细说明,而不是简单地注释掉。如果无用,则删除。