1.Java的超神之路:
语法>规范>设计理念>性能,架构
2.规范的必要性
可读性,正确性,一致性
3.基础规范分类
布局,命名,声明,注释,异常,工程
3.1.布局
-顺序,类中顺序依次是:变量,构造器,方法,内部类,main
变量方达顺序:public static,
public,protected,package,private
构造器顺序:参数少的在前
函数重载要聚焦在一起声明
-高度,
每行只有一个句子
方法不超过一屏幕(20-50行)
-宽度,
每行不超过120个字符
方法入参小于5个
长表达式(超过120列)断行,断行要缩进,在操作符前断行,高优先级断在一行,
-深度,
方法圈复杂度小于5
-密度,
{ 在首行末
} 在尾行首
空格替代tab键(不同编辑器tab键会混乱)
操作数和运算符间有空格(++/–除外)
3.2.命名
-全局,字母,数字,下划线(禁止联续)组成,
避免易混淆的命名
-包名,
全部小写
包名不能包含下划线
单数形式
-类名
首字母大写
类名单词间采用驼峰式
类名不包含下划线
特殊类名加特定后缀
-方法名
动次短语
首字母小写
不含下划线
-常量/变量
常量静态用大写字母,单词间用下划线分隔
变量首字母小写,驼峰式风格
名词,有意义
复数类型加s
Pojo类中布尔类型的变量都不加is,否则框架解析错误
3.3.声明
-基础变量
使用基础类型
Long变量,结尾用L
-常量
在类型前加final防修改
在一个接口里定义所有常量
循环体里避免声明变量
-字符串
声明时避免使用new,避免资源浪费
-数组
声明数组【】放在变量前
多维数组定义初始化时,按矩阵结构分行书写
避免使用public static final数组字段
-方法
没有实例类成员,可声明静态的方法
3.4注释
-避免无用的注释
-注释符和注释内容间有一个空格
特殊注释,标明注释人员及时间
注释放在代码上方,与前一段代码有空行
注释说明关键字与代码关键字一样
文档类注释使用 /*内容*/ 格式
注释用于说明代码逻辑或特殊实现
说明设计思路,而非代码行为
3.5异常
-throws
避免直接抛出Exception
-catch
语句快不能为空
捕获具体异常
-finally
对资源,流关闭
有异常也try-catch
不能使用return
-NPE
防止NPE
返回类型为基本数据,return包装数据类型的对象时
数据库的查询结果中取数据
数据集合是isNotEmpty,数据元素也可能为null
远程调用返回对象
Map ,Session中取数据
级联调用
3.6工程
Maven工程标准

