日常 - IDEA 正则查找包含一个字符串, 不包含另一个字符串

日常 - IDEA 正则查找包含一个字符串, 不包含另一个字符串


前言

最近遇到一些坑, Java 项目里一般会有很多的 Bean 对象, 对应着各个开发层的数据传输对象, 如 Controller 层里的 VO 对象, 到 Service 层的 BO 等等. 他们之间的赋值使用 Spring 的 BeanUtils 进行属性赋值, 但有个问题, 那就是如果属性名不同那就会忽略而导致无法赋值.

虽然也有考虑过使用其他框架如 MapStruct 等进行声明转换, 但由于涉及太多老代码, 也无法一一进行单元测试(是的, 这个项目很少单元测试, 还是自己在看源码时一个个添加走流程熟悉代码), 最后讨论研究只能改变实例名, 如: target + 类型, 通过这种方法来确认该类型在哪使用.

虽然这种方法很 low, 但它有用就是了.

替换

既然说要改变实例名, 那就得找出所有用到 BeanUtils 的地方, 通过使用 (BeanUtils.copyProperties\()(?!.*target.*) 这个正则来查找出还未更名的实例, 然后使用 target + 类型 来替换.

总结

  1. 做好 Code Review
  2. 所写方法一定得做好单元测试
  3. 方法不宜过长导致 “屎山”, 后来人都不敢动
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值