登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
博客
发1篇日志+1圆
记录
发1条记录+2圆币
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
VIP网盘
VIP申请
网盘
联系我们
道具
勋章
任务
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
代码 “歪楼”:Money 类在程序里的离奇 “旅程” ...
代码 “歪楼”:Money 类在程序里的离奇 “旅程”
[ 复制链接 ]
贺蛟亡
2025-6-1 18:42:19
原文: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”,实在是让人摸不着头脑,狠狠拿捏住了咱的无语点 。
$ 请再用不同风格改写这段诙谐代码描述。
脱口秀风格
:
家人们,咱今儿唠唠程序里这段让人笑出猪叫的代码。话说系统公共包里有个Money类,它有fen()和yuan()俩方法,一个管分,一个管元,分工明确对吧?结果呢,有这么一行代码 saleRechargeVO.setTotalAmount(BigDecimalUtil.convertFen2Yuan(recharge.getTotalAmount().fen())); 好家伙,这是干啥呢?
这就好比你面前有两个按钮,一个按下去直接给你想要的结果,另一个按下去,你还得经过九九八十一难才能得到同样的东西,咱代码里偏偏选了后者。recharge.getTotalAmount()都已经是Money了,直接用yuan()拿元不就完事儿了嘛,非要先拿分再转,这操作,就像是穿着旱冰鞋去爬山,明明有更合适的装备(方法)不用,非得给自己找罪受,你说气人不气人。直接 saleRechargeVO.setTotalAmount(recharge.getTotalAmount().yuan()); 它不香吗?
咱就是说,写这段代码的兄弟,是不是当时“CPU被干烧了”,才想出这么个“绕地球一圈再回家”的操作。
游戏解说风格
:
各位看官,注意看!现在呈现在我们眼前的是一段堪称“游戏迷幻操作”级别的代码。
系统公共包里有个Money类,它就像是游戏里的多功能道具,fen()和yuan()就是道具的两个强大技能。
但接下来的操作,让人大跌眼镜。看这行代码 saleRechargeVO.setTotalAmount(BigDecimalUtil.convertFen2Yuan(recharge.getTotalAmount().fen())); 这简直是在游戏里放着超级大招不用,非要从最基础的技能开始,一层一层叠Buff,关键是叠完Buff效果还一样。recharge.getTotalAmount()已经是Money了,直接用yuan()技能,瞬间就能拿到元,多潇洒。可代码却选了先发动fen()技能拿分,再费劲巴拉地转换,这和游戏里有传送门不用,非要一步一步从新手村走到最终BOSS地图有啥区别?简直是“代码游戏世界”里的奇葩操作。
要是我玩游戏遇到这种队友,估计得在公屏上疯狂打字:“兄弟,咱能不能直接 saleRechargeVO.setTotalAmount(recharge.getTotalAmount().yuan()); 啊,别折磨我了!”这操作,太让人上头了。
吐槽大会风格
:
今天我必须把这段代码拉出来“批斗”一番。
系统公共包里那个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原则强调代码应该尽可能简单。此代码没有遵循该原则,增加了不必要的复杂度,不符合简洁高效的编码理念。
如果不及时纠正这种现象,类似的问题可能会在项目中不断出现,导致代码质量逐渐下降,增加项目的维护成本和风险。
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
代码
签约作者
程序园优秀签约作者
发帖
贺蛟亡
2025-6-1 18:42:19
关注
0
粉丝关注
15
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
敖可
9984
凶契帽
9990
处匈跑
9990
4
黎瑞芝
9990
5
杭环
9988
6
猷咎
9988
7
鲫疹
9988
8
接快背
9988
9
里豳朝
9988
10
氛疵
9988
查看更多