确认

  • [x] 我的版本是最新版本, 我的版本号与 version 相同, 并且项目里无依赖冲突
  • [x] 我已经在 issue 中搜索过, 确认问题没有被提出过
  • [x] 我已经修改标题, 将标题中的 描述 替换为你的想法(不得删除 描述 前面的部分)

功能改进

亲身经历

有这样一段实现

wrapper.eq("id", id);
wrapper.eq("type", type);
wrapper.nq("status", status);

数据对了好几遍,id 对的,type 一致的,status 也是符合的,包括is_delete 也看了。但就是查不出数据。 代码也上上下下看了几遍,上面的代码混在一堆代码中,并不显眼。 所幸,最终还是发现了:原来是不等于啊!

建议

为了避免大家踩一样的坑,建议将 com.baomidou.mybatisplus.core.conditions.interfaces.Compare.nq() 方法重命名为 notEquals(),理由如下:

  1. 避免视觉混淆eqnq 仅首字母不同,在代码中不够醒目。equalsnotEquals 的语义一目了然,能有效防止误读。
  2. 契合现代开发习惯:当今主流的 IDE 具备强大的代码补全功能,使用完整的描述性方法名几乎不会增加编码负担,反而能通过清晰的意图提升开发效率。
  3. 权衡改动收益notEquals 方法的使用频率通常远低于 equals。因此,为其赋予一个更长的、更清晰的名字,对代码简洁性的影响很小,却在可读性上带来了显著收益。

总结

nq 更名为 notEquals 是一个低成本、高回报的改进,它能显著降低代码的认知负荷,尤其有利于团队协作和新人上手。希望这个建议能被考虑,谢谢!

参考资料

No response