志在指尖
用双手敲打未来

JAVA强制性代码规范

强制性标准:
代码中的命名均不能以下划线或美元符号开端,也不能以下划线或美元符号结束。
代码中的命名禁止运用拼音与英文混合的办法,更不答应直接运用中文的办法。
类名运用UpperCamelCase风格,有必要遵照驼峰办法。
办法名、参数名、成员变量、局部变量都统一运用lowerCamelCase风格,有必要遵照驼峰办法。
常量命名全部大写,单词间用下划线隔开,力求语义表达完整清楚,不要嫌名字长例如:MAX_STOCK_COUNT。
抽象类命名运用Abstract或Base开头;异常类命名运用Exception结束;测验类命名以它要测验的类的名称开端。
杜绝不标准的英文缩写:AbstractClass缩写成AbsClass;condition缩写成condi;此类随意缩写严重降低了代码的可阅览性。
如果运用到了规划形式,建议在类名中体现出详细的形式:JAVA强制性代码规范
publicclassComponentFactorypublicclassBufferStrategypublicclassScrollerProxy
关于Service或Dao层的命名
插入:insert(引荐)或save
删去:delete
修改:update(引荐)或modify
查询单个方针:get
查询多个方针:list
实体类有必要重载toString()办法,这样可以经过调用方针的toString()来排查问题。
Object的equals办法简略抛空指针异常,应运用常量或确认有值的方针来调用equals。
正例:”test”.equals(object);
反例:object.equals(“test”);
防止经过一个类的方针引证拜访此类的静态变量或静态办法,无谓添加编译器解析成本,直接用类名来拜访即可。
引荐标准:
调集初始化时,尽量指定调集初始值巨细;
ArrayList尽量运用ArrayList(intinitialCapacity)初始化。
运用entrySet遍历Map类调集KV,而不是keySet办法进行遍历
阐明:keySet其实是遍历了2次,一次是转为Iterator方针,另一次是从hashMap中取出key所对应的value。而entrySet只是遍历了一次就把key和value都放到了entry中,效率更高。如果是JDK8,运用Map.foreach办法。
高度注意Map类调集K/V能不能存储null值的状况,如下表格:
调集类KeyValueSuper阐明
Hashtable不答应为null不答应为nullDictionary线程安全
ConcurrentHashMap不答应为null不答应为nullAbstractMap分段锁技能
TreeMap不答应为null答应为nullAbstractMap线程不安全
HashMap答应为null答应为nullAbstractMap线程不安全
使用Set元素仅有的特性,可以快速对一个调集进行去重操作,防止运用List的contains办法进行遍历、比照、去重操作。
经过双重查看锁(double-checkedlocking)(在并发场景)完成延迟初始化的优化问题隐患(可参阅The”Double-CheckedLockingisBroken”Declaration),引荐问题解决方案中较为简略一种(适用于JDK5及以上版别),将方针特点声明为volatile型。
*反例*:classFoo{privateHelperhelper=null;publicHelpergetHelper(){if(helper==null)synchronized(this){if(helper==null)helper=newHelper();}returnhelper;}//otherfunctionsandmembers…}
作者:刘战塔_Terry
链接:https://www.jianshu.com/p/f5a55dff62f0
来源:简书
著作权归作者一切。商业转载请联系作者取得授权,非商业转载请注明出处。

未经允许不得转载:IT技术网站 » JAVA强制性代码规范
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!

 

志在指尖 用双手敲打未来

登录/注册IT技术大全

热门IT技术

C#基础入门   SQL server数据库   系统SEO学习教程   WordPress小技巧   WordPress插件   脚本与源码下载