上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
1.4 基于工具协作的研发效能提升
下面我们从软件开发、测试和发布的视角来看一下各个阶段研发效能提升需要关注的问题,其主线是围绕CI/CD的一些实践,如图1.4所示。
图1.4 研发效能提升的关注点
其中,我们列举一些常见的可以提升研发效能的做法:
• 可以通过All-in-One的开发环境降低每位开发人员开发环境准备的时间成本,同时又能保证开发环境的一致性。更高级的方法是使用云端IDE,实现只要有浏览器就能改代码。
• 可以借助基于AI的代码提示插件,大幅度提升IDE中代码的开发效率。同样输入一段代码,不借助AI代码提示插件,需要敲击键盘200次,启用插件可能只需要敲击键盘50次。
• 代码的静态检查没有必要等到代码递交后由CI中的Sonar流程来发起,那个时候发现问题再修复为时已晚,完全可以通过SonarLint插件结合IDE实时发起本地的代码检查,有问题直接在IDE中提示,直接修复。
• 单元测试比较耗费时间,可以借助EvoSuite之类的工具降低单元测试的开发工作量。
• 对于规模较大的项目,每次修改后编译时间比较长。可以采用增量编译,甚至是分布式编译(Distcc和CCache)来提升效率。
• 前端开发可以借助JRebel和Nodemon之类的工具使前端开发预览的体验更流畅。
• 选择适合项目的代码分支策略对提升效率也大有帮助。
• 构建高度自动化的CI和CD流水线将大幅提升价值的流转速率。
• 选择合适的发布策略也会对效能和风险之间的平衡起到积极的作用。比如,架构相对简单,但是集群规模庞大,则优选金丝雀;如果架构比较复杂,但是集群规模不是太大,可能蓝绿发布更占优势。
实际工作中其实远远不止以上9种做法,读者也可以在工作中摸索出属于自己的研发效能提升工具链。