设为首页 加入收藏

TOP

从Java开源项目中总结出的常见坏实践(Bad Practice)(二)
2023-07-25 21:40:03 】 浏览:40
Tags:Java 项目中 常见坏 Bad Practice
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.避免使用反逻辑

图片.png

像图中!(x == 0) 可以直接改成x != 0 即可

还有以下这种冗余代码。

图片.png

21.复杂的判断使用有意义的变量来替代

图片.png

比如上图的判断我们可以用一个变量 isLongField来替代 提高代码的可读性。

22.常量没有使用final来修饰

如果没有使用final来修饰的话,就有可能在代码中被修改。

图片.png

23.字符编码直接用字符串表示

图片.png

字符编码,JDK中都有常量可以直接表示,我们可以直接使用

图片.png

24.多余的方法修饰符

Java中interface类,方法默认都是Public的,没必要再加上public修饰符

图片.png

25.不必要的ToString

图片.png

图片.png

26.多余的变量声明

如果变量声明之后没有做任何处理,请直接通过return返回,不要多声明一个变量

图片.png

27.使用语义不清晰的方法

例如String的indexOf方法 我们完全可以使用contains方法来替代,使代码的语义更一目了然。

图片.png

28.毫无必要的包装语句unboxing和boxing

Integer.valueOf

返回的本身就是int, 没有必要再调用intValue方法
图片.png

29.使用+=进行在循环中字符串拼接

图片.png

+=会造出临时的字符串,我们应该使用StringBuilder在循环中拼接字符串

以上就是总结的关于项目中的一些坏实践,请大家务必使用。有其他坏实践,恳请大家继续补充。


鄙人在业余时间弄了一个全栈项目Agileboot,初衷是想做一个代码规范,项目结构良好,可供大学生或者入门3年内的开发者参考使用的项目。

后端地址:
https://github.com/valarchie/AgileBoot-Back-End
鄙人能力水平有限,如果项目中发现不足或者错误,恳请指正。欢迎PR。一起构建一个规范完善的后端项目。

前端地址:
https://github.com/valarchie/AgileBoot-Front-End

鄙人前端小白,关于前端项目的规范以及优化仅作了力所能及的部分,还有很多优化空间。哪位前端大佬有兴趣一起帮忙规范和优化吗?

演示地址
www.agileboot.vip

欢迎加入全栈技术交流群:1398880
首页 上一页 1 2 下一页 尾页 2/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Dubbo 3 之 Triple 流控反压原理.. 下一篇 折腾了我一周,原来Netty网络编..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目