olumnName) && !column.isPk())
{
column.setIsEdit(GenConstants.REQUIRE);
}
// 列表字段
if (!arraysContains(GenConstants.COLUMNNAME_NOT_LIST, columnName) && !column.isPk())
{
column.setIsList(GenConstants.REQUIRE);
}
// 查询字段
if (!arraysContains(GenConstants.COLUMNNAME_NOT_QUERY, columnName) && !column.isPk())
{
column.setIsQuery(GenConstants.REQUIRE);
}
// 查询字段类型
if (StringUtils.endsWithIgnoreCase(columnName, "name"))
{
column.setQueryType(GenConstants.QUERY_LIKE);
}
// 状态字段设置单选框
if (StringUtils.endsWithIgnoreCase(columnName, "status"))
{
column.setHtmlType(GenConstants.HTML_RADIO);
}
// 类型&性别字段设置下拉框
else if (StringUtils.endsWithIgnoreCase(columnName, "type")
|| StringUtils.endsWithIgnoreCase(columnName, "sex"))
{
column.setHtmlType(GenConstants.HTML_SELECT);
}
// 图片字段设置图片上传控件
else if (StringUtils.endsWithIgnoreCase(columnName, "image"))
{
column.setHtmlType(GenConstants.HTML_IMAGE_UPLOAD);
}
// 文件字段设置文件上传控件
else if (StringUtils.endsWithIgnoreCase(columnName, "file"))
{
column.setHtmlType(GenConstants.HTML_FILE_UPLOAD);
}
// 内容字段设置富文本控件
else if (StringUtils.endsWithIgnoreCase(columnName, "content"))
{
column.setHtmlType(GenConstants.HTML_EDITOR);
}
}
20.避免使用反逻辑
像图中!(x == 0)
可以直接改成x != 0
即可
还有以下这种冗余代码。
21.复杂的判断使用有意义的变量来替代
比如上图的判断我们可以用一个变量 isLongField来替代 提高代码的可读性。
22.常量没有使用final来修饰
如果没有使用final来修饰的话,就有可能在代码中被修改。
23.字符编码直接用字符串表示
字符编码,JDK中都有常量可以直接表示,我们可以直接使用
24.多余的方法修饰符
Java中interface类,方法默认都是Public的,没必要再加上public修饰符
25.不必要的ToString
26.多余的变量声明
如果变量声明之后没有做任何处理,请直接通过return返回,不要多声明一个变量
27.使用语义不清晰的方法
例如String的indexOf方法 我们完全可以使用contains方法来替代,使代码的语义更一目了然。
28.毫无必要的包装语句unboxing和boxing
Integer.valueOf
返回的本身就是int, 没有必要再调用intValue方法
29.使用+=进行在循环中字符串拼接
+=会造出临时的字符串,我们应该使用StringBuilder在循环中拼接字符串
以上就是总结的关于项目中的一些坏实践,请大家务必使用。有其他坏实践,恳请大家继续补充。
鄙人在业余时间弄了一个全栈项目Agileboot,初衷是想做一个代码规范,项目结构良好,可供大学生或者入门3年内的开发者参考使用的项目。
后端地址:
https://github.com/valarchie/AgileBoot-Back-End
鄙人能力水平有限,如果项目中发现不足或者错误,恳请指正。欢迎PR。一起构建一个规范完善的后端项目。
前端地址:
https://github.com/valarchie/AgileBoot-Front-End
鄙人前端小白,关于前端项目的规范以及优化仅作了力所能及的部分,还有很多优化空间。哪位前端大佬有兴趣一起帮忙规范和优化吗?
演示地址
www.agileboot.vip
欢迎加入全栈技术交流群:1398880