业务代码为什么越写越乱?有些判断其实可以统一处理
当前位置:点晴教程→知识管理交流
→『 技术文档交流 』
在写业务代码的时候,最容易出现的一类代码不是复杂逻辑,而是重复判断。刚开始不觉得有什么问题,甚至还挺安心: 多判断几次,逻辑更严谨。 但项目写久了,你会慢慢发现:
问题不是业务复杂,而是有些判断,本就不该分散在业务代码里。 ![]() 一、最典型的场景:每个方法都在做“参数判空” 这种代码,几乎所有项目都有: 一个方法一两行,看着没什么问题。 但当这种判断:
代码的噪音会非常大。 实际上,这类判断完全可以统一前移,而不是写在业务逻辑中。 ![]() 二、可以统一处理的第一类:参数合法性判断 参数合法性,本质上是输入问题,而不是业务问题。 例如:
这些判断:
统一处理后,业务代码只关心一件事:参数是可信的。 ![]() 三、第二类:数据是否存在的判断 很多业务方法,一上来就是: 这类判断看似合理,但问题在于:
更糟的是,有些地方忘了写,有些地方写得不一样。 “数据是否存在”本身是一个通用规则,不是某个业务的专属逻辑。 ![]() 四、第三类:状态是否合法的判断 这是业务代码里最容易膨胀的一类。 刚开始只有一个地方用,没问题。 后来你会发现:
而且判断条件还略有差异。 这种判断如果完全散落在业务代码里,后期几乎一定会出问题。 ![]() 五、哪些判断真的不该统一 说清楚一点:不是所有判断都适合统一处理。 下面这些判断,最好还是留在业务代码中:
比如: 这种判断,本身就属于业务表达,统一反而会降低可读性。 ![]() 六、统一处理之后,业务代码会发生什么变化 当你把“通用判断”抽出去之后,业务方法通常会变成这样: 代码的变化不是变“少”,而是变“干净”:
![]() 七、一个很实用的判断标准 如果你在写判断时,心里出现过这种想法:
那它大概率就该被统一。 再给你一个更狠但好用的判断方式:
这个判断,在真实项目里几乎不会翻车。 ![]() 八、为什么统一判断反而更安全 很多人担心: 统一处理会不会不灵活? 恰恰相反。 当判断逻辑:
你反而更清楚:
最危险的不是统一,而是“大家各写各的”。 ![]() 总结 业务代码乱,往往不是因为业务复杂, 而是因为不该出现在那里的判断,出现得太多了。把“通用判断”从业务代码里拿走, 留下的,才是真正需要你思考的业务。 -END- 阅读原文:原文链接 该文章在 2025/12/22 17:58:52 编辑过 |
关键字查询
相关文章
正在查询... |