
愚公队近两个月,集体阅读了《重构:改善既有代码的设计》这本书。大部分小伙伴在几个章节上集合今年运营商产品的研发还是做了深入的思考的。思考的有深有浅、有多有少、有思考就有进步。
大家深刻体会到现有产品代码的复杂度和技术债务,每每开周例会,很多小伙伴会说:我们要不重构一版吧,现有的代码实现太复杂了,横跨好几个工程,好几次异步处理,太难调试了,维护成本也很高,最可怕的是很多需求需要从头改到尾。这些感受是大家发自内心的最朴素的想法,也是最真实的想法,也是作为“代码囚徒”的本能求生反应,我们应该支持和鼓励,甚至可以抽一周干一票!
不能做思想上的强者、行动中的矮子
因此我们决定在一些小板块上做代码设计重构。但是问题来了:如何重构才是正确的、才是合理的?大家问了这个灵魂深处的问题!让每个人发言说说自己重构的方案和思路,团队有了一个惊奇的发现:业务缺少抽象、架构缺少扩展、代码缺少解耦!这是一座摆在每个人面前,艰难且巨大的鸿沟!
如何破局?如何解惑?如何推进?如何重构?
先从思想提升做起,给大家讲一遍面向对象程序设计,SOLID原则的应用场景和代码案例,找案例,说问题,改代码。识别代码的坏味道,通过全新的抽象和封装完成历(shi)史(shan)代码的重写。几百行代码重写,让每个人快速获得了代码设计的快感、成就感、价值感,瞬间编程技能提升几个层级。小而美的局部重写,不是大规模的重构,成为团队日常开发的开胃菜和情绪感。每每大家分享重写的代码,畅谈自己的设计想法,发光的不是重写后的代码,更是一颗颗冉冉升起、熠熠发光的新星(人)。
一蹴而就?持续精进?慢即是快、少即是多!
既有的代码实现有历史的沉淀、场景的堆叠、无奈的选择。一蹴而就全部重构,意味着风险和收益的平衡。团队头脑风暴了几次,借鉴书中「有计划的重构和见机行事的重构」的思想,形成了持续精进重构的方案。每次重构前必须给出详细的改造方案、兼容方案、风控方案,评审论证后严格实施执行。可以慢一点,可以少一点,可以”丑“一点,但是一定要改到位,不出问题。团队在停车票框架服务、数据同步框架、系统管理、公共服务等几个关键模块完成简化、重构和测试。TFS中不仅仅是新生的代码,产品灵魂深处萌生出生机勃勃的新脉。
重构的新搭子,程序员的效率之器:AI 编程助手
Claude4.5 让Cursor、GitHub Copilot的能力,远超出团队小伙伴的开发技能。大家全面拥抱AI编程,Vibe Coding(氛围编程),架构师冯辉、国强给大家分享了AI编程助手的高级实践,给大家的重构带来了一个高能力的专家助手。代码重写、Bug识别、类设计、接口设计、单元测试生成... 团队的开发效率、代码质量、重构能力,有了长足的提升,感谢AI、感谢这个时代,让大家在愚公移(shi)山的路上,不再困惑、不再踟躇,日日精进提升。