登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
安全
›
一个表示金额的数字是 100000000L,这是多少米 ...
一个表示金额的数字是 100000000L,这是多少米
[ 复制链接 ]
欤夤
2025-11-29 11:24:58
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
易读的代码(Readable Code)是高质量软件开发的核心要素之一
今天下午,我在CR时,注意到下面的银行付款程序中的100000000L。如果不数零,谁能直观看出来这个庞大的数字代表多少钱呢?
... bb1payopx1.setTrsAmt(bankOrder.getAmt() + ""); if (bankOrder.getAmt() < 100000000L) { bb1payopx1.setStlChn(CmbCloudSettlementTypeEnum.REAL_TIME.getCode()); } else { bb1payopx1.setStlChn(CmbCloudSettlementTypeEnum.EXPRESS.getCode()); } ...
复制代码
有同学会说,不就是一个数字嘛,管它是多少呢?总之就是作为一个判断条件而已。
持这种想法的同学,估计这半辈子注定是一个码农。
作为应用开发者,我们要关注业务。这段代码所体现的业务逻辑是,转账交易金额低于 100w 时,银行会实时结算;而超过 100w 时,会走快速转账方式,结算时效会下降。
银行不同的结算通道,会直接影响到交易的时效。掌握了这一点,转账交易的业务层就可以调整相应的产品策略,以满足结算时效。
那么,从代码可读性的角度来看,怎么能让人一眼就能看出来100000000L表示的是 1百万 呢?
有同学说了,使用javadoc加个注释。
bb1payopx1.setTrsAmt(bankOrder.getAmt() + ""); // 100 万以下走 R-实时转账,≥100 万走 Q-快速转账 if (bankOrder.getAmt() < 100000000L) { ...
复制代码
或者定义一个常量。
public static final long ONE_MILLION_YUAN = 1000000L; // 或命名为 YUAN_100W ... bb1payopx1.setTrsAmt(bankOrder.getAmt() + ""); if (bankOrder.getAmt() < ONE_MILLION_YUAN * 100) { ...
复制代码
当然, 除此之外,你还有什么更好的实践?
分享我的good-practice。
实践一:使用Java 7 开始引入的“语法糖”——数字分隔符,告别数零(数是数羊的数)。
bb1payopx1.setTrsAmt(bankOrder.getAmt() + ""); if (bankOrder.getAmt() < 100 * 1_000_000) { ...
复制代码
实践二:使用Money类,一目了然。
bb1payopx1.setTrsAmt(bankOrder.getAmt() + ""); if (bankOrder.getAmt() < Money.ofYuan(1_000_000).fen()) { ...
复制代码
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
一个
表示
金额
数字
100000000L
相关帖子
快速构建一个基础、现代化的 WinForm 管理系统!
ImageViewer.js:一个零依赖的现代化图片预览组件
TypedSql:在 C# 类型系统上实现一个 SQL 查询引擎
Gemini3在线构建一个基于女性照片解析的应用
使用.NET开发并上线一个小智AI对话机器人的MCP服务转接平台
用一个简单模型推导卡尔曼滤波理论
拆解一个真实电商项目:微服务架构中的服务治理与性能优化
拆解一个真实电商项目:微服务架构中的服务治理与性能优化
在测试领域,如何写一个更好的prompt来进行测试提效
带vip功能的一个网盘系统
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
快速构建一个基础、现代化的 WinForm 管理系统!
1
709
言晓莉
2025-11-20
业界
ImageViewer.js:一个零依赖的现代化图片预览组件
2
430
笙芝
2025-11-22
业界
TypedSql:在 C# 类型系统上实现一个 SQL 查询引擎
1
968
戈森莉
2025-11-24
科技
Gemini3在线构建一个基于女性照片解析的应用
0
470
堠秉
2025-11-24
业界
使用.NET开发并上线一个小智AI对话机器人的MCP服务转接平台
0
998
东门清心
2025-11-26
业界
用一个简单模型推导卡尔曼滤波理论
2
759
怀陶宁
2025-11-26
业界
拆解一个真实电商项目:微服务架构中的服务治理与性能优化
1
600
司寇涵涵
2025-11-30
业界
拆解一个真实电商项目:微服务架构中的服务治理与性能优化
1
913
蟠鲤
2025-11-30
安全
在测试领域,如何写一个更好的prompt来进行测试提效
0
143
刃减胸
2025-12-02
程序
带vip功能的一个网盘系统
1
18
新程序
2025-12-06
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
教程
业界
科技
签约作者
程序园优秀签约作者
发帖
欤夤
2025-11-29 11:24:58
关注
0
粉丝关注
20
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845355
3934307807
991122
4
xiangqian
638210
5
宋子
9987
6
闰咄阅
9991
7
刎唇
9993
8
俞瑛瑶
9998
9
蓬森莉
9952
10
匝抽
9986
查看更多