checkstyle十大低级错误_修订
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CheckStyle十大低级错误
为了规范大家的编程行为,借鉴前人的编程经验,避免低级错误的不断发生,特发布MDSP产品CheckStyle十大低级错误,供所有Java开发人员学习:
1、对方法和类中的特定标识,返回标识大量使用魔鬼数字而不是定义常量来进行标识。
2、方法或构造函数的javadoc注释没有或者不完整,缺乏对方法的明确介绍,对入参的明确描述,对异常的明确描述,对返回数据的明确描述.
3、对静态常量,变量的名称不符合checkStyle的正确约定.
4、对方法,类的命名不符合checkStyle的正常约定:
5、对类属性的排序不符合checkStyle规定的特定顺序(根据public.,protected,private排序)
6、直接定义非静态类成员变量为protected,或者public,而不是使用get,set方法权限来设置其使用范围
7、对比较,赋值,算术运算符以及if,wile等操作符不留空格,不符合格式要求:
8、导入包时使用*导入,或者导入更本用不到的包或者类
9、类方法的异常抛出过多,或者抛出根本不需要抛出的类.
10、过长的语句没有换行,在换行时运算符没有放在换行的开头处。
代码案例(说明:所有样例都是错误的代码):
1、方法和变量命名随意而不规范,没有类注释、方法注释或注释不规范,代码修改后,不同步修改注释,导致注释与代码不符。
p rivate int checkServiceAccessNo() throws ErrorException
{
Set setMo = new HashSet();
int moAccessNoCount = 0;
//如果有sms业务类型,判断sms全网接入号上行以及下行接入号
//错误,没有使用常量标识来标识业务类型
if (isHaveType(2))
{
String smsMoAccessNo = serviceInfo.getSmsMOaccesscode();
String smsMtAccessNo = serviceInfo.getSmsMTaccesscode();
//如果都为null报错
if ((null == smsMoAccessNo || smsMoAccessNo.equals(""))
&& (null == smsMtAccessNo ||
smsMtAccessNo.equals("")))
{
//错误,没有使用常量标识来标识返回标识
return 1;
}
//验证上行接入号
if (!checkAccessNoStr(smsMoAccessNo))
{
//错误,没有使用常量标识来标识返回标识
return 1;
}
//验证下行接入号
if (!checkAccessNoStr(smsMtAccessNo))
{
//错误,没有使用常量标识来标识返回标识
return 2;
}
//全网上行接入号需要校验重复性
if (null != smsMoAccessNo && !smsMoAccessNo.equals(""))
{
String serviceId =
AccessNoManager.checkCentralUploadAccessNoIsExist(
PortalHanderConstant.SERVICE_ADD == operatorType ? "0" : serviceInfo.getServiceID(),
smsMoAccessNo);
//如果重复需要返回接入号存在异常
if
(!AdminConstant.ADMIN_ACCESSNO_RESULT.equals(serviceId))
{
return PortalHanderConstant.ACCESSNO_EXISTS;
}
moAccessNoCount++;
setMo.add(smsMoAccessNo);
}
}
// 如果有MMS业务类型,判断MMS全网接入号上行以及下行接入号//错误,没有使用常量标识来标识业务类型
if (isHaveType(3))
{
String mmsMoAccessNo = serviceInfo.getMmsMOaccesscode(); String mmsMtAccessNo = serviceInfo.getMmsMTaccesscode();
//如果都为null报错
if ((null == mmsMoAccessNo || mmsMoAccessNo.equals("")) && (null == mmsMtAccessNo ||
mmsMtAccessNo.equals("")))
{
//错误,没有使用常量标识来标识返回标识
return 1;
}
//验证全网上行接入号
if (!checkAccessNoStr(mmsMoAccessNo))
{
//错误,没有使用常量标识来标识返回标识
return 1;
}
//验证全网下形接入号
if (!checkAccessNoStr(mmsMtAccessNo))
{
//错误,没有使用常量标识来标识返回标识
return 1;