我终于对禅道14年的代码下手了
我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。
禅道软件自2009年起已迭代14年代码,从一个人的项目发展到现在几十人维护。为了解决代码中渐增的问题,团队从五月份开始对禅道进行了全面重构,目前版本为18.4,基于MVC模式。
在业务代码重构前,团队对底层PHP框架和UI框架进行了重构。Controller层和Model层分别拆分出Zen层和Tao层,以简化代码并提高可读性。UI框架采用组件化封装,并通过PHP封装的ZIN层简化View层代码,使得View层只需关注业务逻辑和展现逻辑。
禅道保持传统的多页面架构,没有采用SPA模式,主要因为SPA不适合禅道的复杂应用场景。在重构中,团队吸收了现代技术的优点,将其特性融合进新框架。
业务代码重构遇到挑战,主要是团队成员不适应大规模重构。应对措施包括用写段注释来梳理业务逻辑,以及鼓励小碎步提交代码。这些方法有助于确保每次提交都是向好的方向前进。
此外,团队全面推行TDD(测试驱动开发),虽然遇到思维模式转换的挑战,但是通过TDD强迫开发人员更精细地考虑业务逻辑和测试场景。
重构过程中,团队还充分利用了DevOps工具,包括自主开发的ZTF自动化测试框架和ZenData测试数据生成工具,以及在代码提交前强制进行代码扫描和单元测试。
除DevOps实践外,禅道持续加强代码规范、结对编程和代码评审等极限编程实践。团队坚信工程和管理的敏捷性是真正敏捷的关键。
最后,禅道软件公司创始人“春哥”表达了对新版本禅道20的期待,并介绍了自己的公众号“代码之歌”,分享企业管理、产品管理等多方面的实践和思考。
想要了解更多内容?
我是禅道软件公司的创始人,二十年的IT老兵,14年的创业者。这是我的个人公众号。我会持续地更新关于企业管理、产品管理、项目管理、团队建设、创业、学习型组织、企业文化、开源软件等方面话题的实践和思考,欢迎大家和我讨论交流。