代码 “歪楼”:Money 类在程序里的离奇 “旅程”

原文:https://www.cnblogs.com/buguge/p/18763748#_label0

以下是与豆包的dialog↓

$ 请将这段话以诙谐的方式来表达出来

宝子们,今儿必须吐槽下咱程序里这段代码,简直要把我笑不活了!

系统公共包里有个Money类,它有fen()和yuan()两个方法,一个返回金额的分,一个直接返回元。

然后呢,程序里有这么一行“神操作”:saleRechargeVO.setTotalAmount(BigDecimalUtil.convertFen2Yuan(recharge.getTotalAmount().fen()));

咱就是说,这不是脱裤子放屁——多此一举嘛!人家recharge.getTotalAmount()返回的就是Money,直接用yuan()方法拿元不香吗?非得先拿分,再费劲巴拉地转成元,就好比你有直达电梯,却非要先爬楼梯到天台,再坐直升机下来,纯纯的“代码迷惑行为大赏”啊!直接写成 saleRechargeVO.setTotalAmount(recharge.getTotalAmount().yuan()); 它不香嘛,非得绕这一大圈,真的是让人摸不着头脑 。

$ 在诙谐的表达中加入一些流行网络用语

宝子们,今天必须狠狠吐槽一下咱程序里这段代码,简直绝绝子,给我整破防了!

系统公共包里的Money类,有fen()和yuan()俩方法,一个返回金额的分,一个直接返回元。

结果呢,程序里惊现这么一行“逆天”操作:saleRechargeVO.setTotalAmount(BigDecimalUtil.convertFen2Yuan(recharge.getTotalAmount().fen()));

咱就是说,这操作纯纯大无语事件,妥妥的脱裤子放屁——多此一举啊!recharge.getTotalAmount()返回的就是Money,直接调用yuan()方法拿元不香吗?非要先拿分,再吭哧吭哧转成元,这就好比放着现成的高速路不走,偏要去走那九曲十八弯的小路,主打一个“山路十八弯,代码绕得欢”,真的栓Q了。直接写成 saleRechargeVO.setTotalAmount(recharge.getTotalAmount().yuan()); 它不香嘛,非要整这么个“迷惑行为大赏”的操作,这代码逻辑简直离谱到家,让人直呼“666”,实在是让人摸不着头脑,狠狠拿捏住了咱的无语点 。

$ 请再用不同风格改写这段诙谐代码描述。

  1. 脱口秀风格

家人们,咱今儿唠唠程序里这段让人笑出猪叫的代码。话说系统公共包里有个Money类,它有fen()和yuan()俩方法,一个管分,一个管元,分工明确对吧?结果呢,有这么一行代码 saleRechargeVO.setTotalAmount(BigDecimalUtil.convertFen2Yuan(recharge.getTotalAmount().fen())); 好家伙,这是干啥呢?

这就好比你面前有两个按钮,一个按下去直接给你想要的结果,另一个按下去,你还得经过九九八十一难才能得到同样的东西,咱代码里偏偏选了后者。recharge.getTotalAmount()都已经是Money了,直接用yuan()拿元不就完事儿了嘛,非要先拿分再转,这操作,就像是穿着旱冰鞋去爬山,明明有更合适的装备(方法)不用,非得给自己找罪受,你说气人不气人。直接 saleRechargeVO.setTotalAmount(recharge.getTotalAmount().yuan()); 它不香吗?

咱就是说,写这段代码的兄弟,是不是当时“CPU被干烧了”,才想出这么个“绕地球一圈再回家”的操作。

  1. 游戏解说风格

各位看官,注意看!现在呈现在我们眼前的是一段堪称“游戏迷幻操作”级别的代码。

系统公共包里有个Money类,它就像是游戏里的多功能道具,fen()和yuan()就是道具的两个强大技能。

但接下来的操作,让人大跌眼镜。看这行代码 saleRechargeVO.setTotalAmount(BigDecimalUtil.convertFen2Yuan(recharge.getTotalAmount().fen())); 这简直是在游戏里放着超级大招不用,非要从最基础的技能开始,一层一层叠Buff,关键是叠完Buff效果还一样。recharge.getTotalAmount()已经是Money了,直接用yuan()技能,瞬间就能拿到元,多潇洒。可代码却选了先发动fen()技能拿分,再费劲巴拉地转换,这和游戏里有传送门不用,非要一步一步从新手村走到最终BOSS地图有啥区别?简直是“代码游戏世界”里的奇葩操作。

要是我玩游戏遇到这种队友,估计得在公屏上疯狂打字:“兄弟,咱能不能直接 saleRechargeVO.setTotalAmount(recharge.getTotalAmount().yuan()); 啊,别折磨我了!”这操作,太让人上头了。

  1. 吐槽大会风格

今天我必须把这段代码拉出来“批斗”一番。

系统公共包里那个Money类,fen()和yuan()方法就像一对双胞胎,一个代表分,一个代表元。

可咱的代码呢,就像个叛逆的小孩,放着近路不走偏要走远路。瞧瞧这行 saleRechargeVO.setTotalAmount(BigDecimalUtil.convertFen2Yuan(recharge.getTotalAmount().fen())); 这不是瞎折腾嘛!recharge.getTotalAmount()都已经把Money这个“宝贝”给我们了,直接用yuan()方法拿元,就像从口袋里直接掏出想要的东西,多简单。但它非要先掏出分,再大费周章地去转换,这就好比你有一辆超级跑车,却非要在跑车的轮子上绑上石头,然后慢悠悠地往前开。

咱就是说,直接 saleRechargeVO.setTotalAmount(recharge.getTotalAmount().yuan()); 不好吗?这段代码,真的是成功引起了我的“吐槽之魂”,这是代码界的“迷惑行为艺术家”啊,让人忍不住想问:“你在想什么呢?”

【总结】注重代码质量,再强调都不为过

这段代码是一个简单的金额赋值操作,本可以非常简洁地实现,但实际采用了较为复杂的方式。这背后反映出了编码意识的浅薄。

且不说这个绕路导致的代码执行效率方面的性能损耗和资源浪费。单说代码质量方面,也违背 KISS 原则(Keep It Simple, Stupid)。KISS原则强调代码应该尽可能简单。此代码没有遵循该原则,增加了不必要的复杂度,不符合简洁高效的编码理念。

如果不及时纠正这种现象,类似的问题可能会在项目中不断出现,导致代码质量逐渐下降,增加项目的维护成本和风险。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值