关于提高代码可维护性的一点思考

为什么需要提高代码的可维护性

​ 因为在平时开发项目过程中,因为项目工期紧、需求变化频繁等等原因,然后导致代码混乱、service臃肿,最后导致维护成本高维护人员怨声载道,最坏结果可能需要重构。

如何提高代码可维护性

  • 开发之前建模

    ​ 写代码之前最好建模,把整个业务流程清晰在图形当中展示,以便自己加深对业务的理解同时对整个业务代码的掌控。

  • 合理的归类

    ​ 为什么需要合理的归类,大多数我们都只开发entity,dao,service,controller等四层,那么这样会随着项目不断的迭代导致类太臃肿。

    ​ 那么我们就需要在这四层的基础上再丰富一些。

    ​ 例如:

    ​ 1.加入job任务包

    ​ 2.加入utils工具类包

    ​ 3.加入handler处理器

    ​ 以上归类只是给大家提供一点思路,具体业务场景还需分析。其实这些在一些优秀的开源项目当中都有体现。大家只需要看看学习理解,然后照搬过来即可。这也是为什么需要看源码的原因,个人觉得看源码不紧紧是熟悉整个执行过程有助于排查问题过程。更重要的是学习里面的设计思路。

  • 合理的引入一些设计模式

    ​ 设计模式是老生常谈的话题了,面试当中也会问。那么问题来了在什么时候引入设计模式呢?

    ​ 举个例子:

    ​ 假设我们在开发一个订单功能,此时需要创建一个订单,创建好订单后需要给用户发送短信啊一系列操作。

    ​ 常规开发可能就是在一个方法里面或者在一个service里面拆几个小方法搞定了。

    ​ 其实在这个场景我推荐大家使用事件机制也就是观察者模式去实现,为什么?本身客户端是发起创建订单的操作,发送短信的等操作其实在这个时候和订单没关系,是在产生订单后的操作。如果大家有用spring,那么可以借用spring已经实现的来实现。

    @Service
    public class PaymentOrderServiceImpl implements PaymentOrderService {
        
        @Autowired
        private ApplicationEventPublisher applicationEventPublisher;
     
        public PaymentOrder createOrder(PaymentOrder paymentOrder){
            //完成创建订单后发起事件
            applicationEventPublisher.publishEvent(new PaymentOrderEvent(paymentOrder));
            return paymentOrder;
        }
    }
    复制代码

    ​ 根据上面的代码,我们只需要自行实现监听器,然后就可以完成创建订单后的业务操作。这样就达到了一个解耦的效果。会不会更好?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值