不要用魔法值!!!
发表于|更新于
|浏览量:
我来到这个世界为的是看太阳和蔚蓝色的田野。——巴尔蒙特
《阿里Java手册》中第一条编程规约下的第二条常量定义里的第一条

例如这里

我们使用了魔法值
我们改成常量则为

像是字符编码此类都有对应的常量或者枚举等
例如java.nio.charset.StandardCharsets
相关推荐
2021-06-29
通过Function获取属性对应字段
只有绝望的赌鬼才肯把全部所有作孤注的一掷。一个商人如果把他的全部财产装在一只船上,人家就管他叫冒失鬼——席勒 我写了个函数 123456789101112131415161718/** * 获取表内字段 * * @param function 字段 * @return java.lang.String * @author <achao1441470436@gmail.com> * @since 2021/6/29 16:51 */public static <R, T> String getColumn(SFunction<T, R> function) { SerializedLambda lambda = LambdaUtils.resolve(function); TableInfo tableInfo = TableInfoHelper.getTableInfo(lambda.getImplClass()); return tableInfo.getFieldList() .para...
2024-04-05
org.apache.ibatis.session.AutoMappingUnknownColumnBehavior
我只说从今往后,不说今日以前。——陈忠实《白鹿原》 在处理数据库和Java对象之间的映射时,MyBatis提供了一种高度灵活的机制来处理那些在结果集中存在但在Java对象中没有相应属性的未知列。这种机制通过AutoMappingUnknownColumnBehavior枚举来实现,它允许开发者定义对这些未知列的处理策略。 AutoMappingUnknownColumnBehavior的三种策略 NONE: 这是默认策略,MyBatis将忽略所有未知的列,不会对其进行任何操作或抛出异常。 WARNING: 当选择这个策略时,MyBatis会在控制台或日志文件中记录一个警告消息,指出存在未知列,但仍然会继续映射已知列。 FAILING: 选择这个策略时,一旦遇到未知列,MyBatis将抛出异常并终止映射过程。这对于需要确保所有列都必须被正确映射的场景非常有用。 应用场景 开发和测试阶段: 你可能会倾向于使用WARNING策略,以便及时发现数据库表结构的任何更改,这些更改可能会影响应用程序的行为。 生产环境: 在生产环境中,FAILING策略可以帮助你确保数据完整性,任何未映射...
2022-03-08
注解支持@Alias同步值
你最可爱,我说时来不及思索。但思索之后,还是这样说。——普希金《你多么可爱》 首先是这个issue:希望AnnotationUtil增加对@AliasFor的支持 然后我就提交了这个PR:提供AnnotationUtil#getAnnotationAlias,为@Alias注解做别名支持的适配 代码如下(找不到方法可以去看hutool源码): 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152import cn.hutool.core.exceptions.UtilException;import cn.hutool.core.util.ArrayUtil;import cn.hutool.core.util.ObjectUtil;import cn.hutool.core.util.ReflectUtil;import cn.hutool.core.util.StrUtil;import java.lang.annotation.Ann...
2025-04-12
MinecraftForge
毋为已消逝之年华叹息,须正视匆匆溜走的时光。 ——欧洲谚语 什么是 MinecraftForge?MinecraftForge 是一个为 Minecraft 提供的开源模组开发框架,它是 Minecraft 社区中最受欢迎的模组开发工具之一。通过 Forge,开发者可以轻松创建和加载模组(Mods),并扩展 Minecraft 的功能。Forge 的生态系统支持数千个模组,是 Minecraft 游戏创新的核心平台。 核心特点 模组兼容性: Forge 提供了一个标准化的接口,让不同的模组可以无缝工作,减少冲突。 支持多个模组同时运行,方便玩家自由搭配。 开发工具: 提供全面的 API,方便开发者调用 Minecraft 的核心功能。 ForgeGradle:一个集成了 MinecraftForge 项目的 Gradle 插件,用于简化模组开发构建流程。 跨版本支持: Forge 会随着 Minecraft 的更新而更新,支持多个 Minecraft 版本(如 1.12、1.16、1.18 等)。 强大的社区: Forge 拥有一个庞大的开发者和玩家社区...
2021-02-28
quartz指定时间点触发
国家用人,当以德为本,才艺为末。——康熙 之前写过一篇Quartz的博客 今天做一点补充 如果我们需要指定时间点触发任务,则可以使用 123// 指定时间点触发Date executeDate = new Date(System.currentTimeMillis() + 5000);TriggerBuilder.newTrigger().startAt(executeDate).withIdentity("achao", "ruben").build(); 这样去构建 这样,我们的任务就会在指定的时间点触发
2023-05-15
rule-engine-open
朴素是美的必要条件。——列夫·托尔斯泰 分享一个开源规则引擎项目: https://gitee.com/aizuda/rule-engine-open 演示地址:http://ruleengine.cn/

阿超
我的名字叫阿超 年龄25岁 家在北京市 职业是软件开发 每天最晚也会在八点前回家 不抽烟 酒浅尝辄止 晚上十二点上床 保证睡足八个小时 睡前写一篇博客 再做二十分钟俯卧撑暖身 然后再睡觉 基本能熟睡到天亮 像婴儿一样不留下任何疲劳和压力 就这样迎来第二天的早晨 健康检查结果也显示我很正常 我想说明我是一个不论何时都追求内心平稳的人 不拘泥于胜负 不纠结于烦恼 不树立使我夜不能寐的敌人 这就是我在这社会的生活态度
Follow Me公告
This is my Blog