首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >(六)改掉这些坏习惯,还怕写不出精简的代码?

(六)改掉这些坏习惯,还怕写不出精简的代码?

作者头像
一猿小讲
发布2020-06-23 23:52:41
6860
发布2020-06-23 23:52:41
举报
文章被收录于专栏:一猿小讲一猿小讲

鲁迅说:嬉笑怒骂里充满了无奈和妥协。 小猿说:先生说的不对,在程序员的世界里,编写代码处处充满了无奈和妥协。

(一)改掉这些坏习惯,还怕写不出健壮的代码?

(二)改掉这些坏习惯,还怕写不出优雅的代码

(三)改掉这些坏习惯,还怕写不出优雅的代码?

(四)改掉这些坏习惯,还怕写不出健壮的代码?

(五)改掉这些坏习惯,还怕写不出精简的代码?

上次讨论了一下如何借助注解来精简代码,代码修炼的系列分享,书接上篇,本次继续探讨一下:还有哪些奇淫技巧,能助力写出精简的代码?

1

编码时:删除多余,才会更精简。

很多项目流转到你手中时,很多功能模块已废弃 ... ...

胆放大,心留细,一定要敢于动手去重构。少即是多,只有去除多余的代码,方能让代码更精简更完美。

精简代码时,能想到的事项如下:

  • 多余的 Maven 依赖删除;
  • 多余的配置信息删除;
  • 废弃的 Module、API 、包、类、方法 删除;
  • 多余的 常量、变量 删除;
  • 多余的 导入、注解、注释、日志 删除;
  • 多余的 TODO 删除;

举个栗子?

多余的 TODO,搞的后人不知所措。

再举个栗子??

由于功能下线,导致配置文件中依然维护多余的配置,每次上线还担心线上网络不通,解除后顾之忧,势必要去除多余的配置信息。

再举个栗子???

如截图示意,深入分析一下:

  • 标注 3:接口中的方法默认都是 public 修饰,可以去除;
  • 标注 2、4:子类都没有实现定义的方法,可以去除;
  • 标注 1:子类没有实现该接口,则该接口可以去除。

当然,写出精简的代码,仁者见仁智者见智,主要与团队的开发规范有一定关系。

在项目研发中,还有哪些可以简化代码的地方呢?

  • 利用反射进行对象赋值,可以简化大批量的赋值代码(计划:单独开篇去讨论);
  • 利用设计模式,例如工厂模式、模板方法模式,可以消除大量的重复代码,甚至 if else 语句;
  • 利用属性拷贝工具,例如 BeanUtils,可以消除大量赋值代码(以往已经提及过);
  • 利用封装好的工具类,例如 StringUtils、CollectionUtils等可以简化大量的判断语句;
  • 利用增强的 for 循环遍历集合和数组,会简化代码;
  • 善于使用 return 关键字提前终止流程,会简化程序结构。

其实,还有很多,不一一枚举,下面简单看几张图,看看这些坏习惯,你是否犯过?

2

编码时:坏习惯,让代码显得冗长。

举个栗子?:

正解:采用 for-each 进行循环遍历集合,代码会相对简化一点。

以往分享过的栗子?:

正解:else 略显多余,可以去除。

心里话:提前终止语句,快速失败,会让代码简化不少,效率提升不少。

以往分享过的栗子?:

正解:在 return 前的判断,貌似略显多余,可以修改为。

心里话:在编码时,利用好 return 关键字,可以提前让函数返回,避免定义很多中间变量。

拿个项目中的栗子?:

正解:利用 return 关键字,可以适当调整如下。

心里话:在编码时,提前终止程序,会减少圈的复杂度,结构更清晰。

3

寄语写最后

老子曰:有道无术,术尚可求也。有术无道,止于术。

庄子曰:以道驭术,术必成。离道之术,术必衰。

古人曰:上人用道,中人用术,下人用力。

小猿曰:管它什么道与术,能助力搬砖采石就足矣,因为我等采石之人心怀大教堂之愿景

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-06-20,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 一猿小讲 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档