看了同事写的代码后,我的代码强迫症愈发严重了

前言

博主最近接手一个需求,需求内容涉及到一个23年年底开始开发的项目。将代码大概过了一遍后,已经熟悉这个项目主要开发人员的代码风格,以下的示例代码均出自一个10+年工龄的老程序员之手。

示例1:

在这里插入图片描述

示例2:在这里插入图片描述

示例3

在这里插入图片描述

示例4(方法一共124行,10层嵌套):

在这里插入图片描述

改造

挑一个比较有代表性的代码进行改造:

在这里插入图片描述

这段代码有三大特点:

1.if(boolean变量 == true)画蛇添足
2.if要执行的内容只有一行,不加括号
3.嵌套太深,从来不用条件反转先返回

改造内容:

1.‘xxx == true’ 简化成 ‘xxx’
2.为一行if添加{}
3.反转(values != null && !values.isEmpty()),先返回,以减少嵌套
3.long类型无需再转换成long类型
4.projectMap、teamMap、personMap使用putAll(xxx)添加元素
5.按照项目、团队、项目人员的顺序,改造projectInfos、teamInfos、projectPersonInfos的顺序,以及for循环里三个if的顺序

改造后:

波浪线全都消失了,舒服太多了
在这里插入图片描述

其余可以改造的地方:

1.单词拼写错误。考勤的单词attend,拼写成了attnd,并且数据库等其他地方全都是attnd,改动难度太大,将错就错。
2.入参List values,返回值List,list是传引用,内部对values操作,其实values里面的元素已经改变了,可以返回void,但是要改到应用到这个方法的地方。

后记

改造后的代码应该怎么样呢,提交git?
不!
代码能跑就不要动,改造后需要重新测试,并且改造这个代码不在我的职责范围,所以还原代码,不做任何修改。
如果有和我一样患了代码强迫症的后人看到这个代码,也许会发出和我一样的感叹:“这**谁写的屎山!”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值