重构
EmindCC
这个作者很懒,什么都没留下…
展开
-
#华为云·寻找黑马程序员#【代码重构之路】我是如何将8行代码缩减成1行的
最近公司在大力提倡clean code, 而clean code 不仅是新写的代码要做,老旧的代码也要适当重构,精简我们的代码,毕竟代码还是要给人看的。个人比较喜欢重构,当然,手术级的重构没做过,但是小小补补还是可以的。在浏览代码时,看到项目中有不少可以改进的地方,于是就选择性地做了一些简单的重构下图是我的一个重构提交记录,也是本次分享的主题。成功的将8行代码精简为1行这2段demo,是很...原创 2019-07-25 17:12:51 · 280 阅读 · 1 评论 -
#华为云·寻找黑马程序员#【代码重构之路】如何优雅的关闭外部资源
1、背景在Java编程中,如果打开了外部资源(文件、数据库连接、网络连接等),我们必须在这些外部资源使用完毕后,手动关闭它们。因为外部资源不由JVM管理,无法享用JVM的垃圾回收机制,如果我们不在编程时确保在正确的时机关闭外部资源,就会导致外部资源泄露,紧接着就会出现文件被异常占用,数据库连接过多导致连接池溢出等诸多很严重的问题2、传统的资源关闭为了确保外部资源一定要被关闭,通常关闭代码被写...原创 2019-07-25 17:28:02 · 175 阅读 · 0 评论 -
#华为云·寻找黑马程序员#【代码重构之路】如何“消除”if/else
1. 背景if/else是高级编程语言中最基础的功能,虽然 if/else 是必须的,但滥用 if/else,特别是各种大量的if/else嵌套,会对代码的可读性、可维护性造成很大伤害,对于阅读代码的人来说就是一场灾难。本系列博客的目的不是消除if/else,而是如何“写好”if/else2. 方法根据if/else的使用方式和场景,大概有如下解决方法多态表驱动职责链模式卫语句...原创 2019-07-25 17:34:17 · 355 阅读 · 0 评论 -
#华为云·寻找黑马程序员#【代码重构之路】使用Pattern的正确姿势
1、问题在浏览项目时,发现一段使用正则表达式的代码这段代码,在循环里执行了Pattern.matches()方法进行正则匹配判断。查看matches方法的源码,可以看到每调用一次matches方法,都会创建一个Pattern对象,而且这段代码还是在for循环里,如果外层函数又被频繁调用,就会出现很明显的性能问题。创建Pattern实例的成本很高,因为需要将正则表达式编译成一个有限状...原创 2019-07-25 17:44:02 · 255 阅读 · 1 评论 -
#华为云·寻找黑马程序员#【代码重构之路】日志打印语句中字符串的拼接问题
这几天看代码,在使用slf4j打印日志时,有的debug日志使用了参数化信息拼接字符串形式logger.debug("参数为:" + i);此种情况下,如果日志级别为INFO,仍要进行一次字符串拼接的操作为了节省资源,现在来重构下:我们可以先检查是不是开启了Debug信息记录功能if (logger.isDebugEnabled()) { logger.debug("参数为:" ...原创 2019-07-25 17:48:07 · 411 阅读 · 0 评论