软件工程 - 如何平衡代码质量和项目进度 - 论CICD的重要性
软件工程 - 如何平衡代码质量和项目进度 - 论CICD的重要性
在软件开发过程中,如何平衡代码质量和项目进度是一个永恒的课题。本文将探讨如何通过CICD(持续集成持续部署)来实现这一目标,让代码质量和项目进度相辅相成,共同推动项目成功。
共同愿景
在软件工程的视角里,代码质量与项目进度是朝向同一个方向的作用力,彼此之间互相促进,它们拥有同一个愿景:保质保量地完成项目。
项目周期内,团队时间的分配上维度上也不是矛盾的,是彼此分工不同,但相辅相成。
通过均衡科学分配代码质量时间与项目开发时间,让项目的左膀右臂共同促成项目的成功。
如何稳住这种肩并肩大步向前的节奏呢?
那就是为这个流程建立一个强大的秩序,在这个秩序里,有条不紊地开展项目工作。
这个秩序就是引入持续集成持续部署即CICD(Continuous Integration, Continuous Deployment)流水线。
具体操作
- 在项目开始阶段先搭建好CICD
将通用的、当前项目所选择的技术栈相应的质量考量点、完善的测试场景(包括单元测试、集成测试)全部加到流水线中,
增量的功能迭代时,每一次提交代码到流水线指定分支时触发流水线工作,
只有通过自动化的流水线检查的提交才能进行合并与部署,确保每一次的交付都有一次全部验证通过的、自动集成的、自动部署的流水线。
- TDD
在开发的时候坚持使用TDD(Test Driven Development)方法,
每一次的交付都需要包含增量部分的测试用例。
- 仓库管理与流水线分发
在仓库管理上规范使用,增量代码提交到Jira号功能分支上,触发非production分支的流水线,完成一次流水线检查。
在非production分支上的流水线完成检查后,创建MR(Merge Request),进入Code Review阶段。
完成复审后,通过请求允许从Jira号功能分支合并到production分支,执行production分支的流水线工作,流水线完成意味着交付成功,流水线失败,打回重新更正。
通过这样规范的流程的保障下,尽早地暴露问题,正视问题,解决问题,
再也不用为代码质量发愁的同时,
也不会因为日积月累的技术债问题需要大量集中地修复问题,甚至是推倒重来而大量占用项目开发时间耽误进度。
ps:
CICD、TDD 的 介绍与使用会在之后的文章中介绍,如果还有具体问题可以进一步提问哦