在追求快速迭代、持续发布的现在,如何在发布竞赛中胜出?唯有简化应用程序的发布。使用Sonar的“边写边清洁”方法,可以帮助组织在保持时间进度的同时推出更多的功能,并且免于遭受技术债务带来的后果。
作为SonarQube授权合作伙伴,龙智子公司创实信息持续关注代码质量与安全领域的最新动态与实践,为中国用户带来全球范围内的优秀解决方案,帮助企业实现开发安全运营一体化。
<下午6点,Acme Software的会议室,所有人的目光都聚焦在产品经理的身上…>
房间里的每个人都在等待你的回答。你感觉汗水顺着脖颈往下流,时间冻结了片刻。你鼓起勇气,声音有些哽咽地说:“我认为发布候选版本很好,我们不能让时间表延期,只能继续加油。”说完,你松了一口气,但又感到很不安,因为你是凭直觉说出的这句话,而不是靠知识来进行判断。
你告诉自己,这是最后一次了,必须有更好的流程!
如果产品经理知道Sonar,所有的压力都可以避免!本篇文章将分享一个重要的Sonar方法——“边写边清洁”是如何帮助你简化应用程序发布过程。有了“边写边清洁”,您和您的团队就可以在保持时间进度的同时推出更多的功能,并免于遭受技术债务带来的后果,听起来难以置信?那就往下看!
代码中隐藏了什么?
从本质上来说,构建一个应用程序实际上只是将许多代码块组合起来,并将它们打包在一起,以便与其他应用程序进行交互和融合。
如果我们把代码块视为弹珠,它们可以被涂成红色或绿色。红色弹珠代表不清洁的代码,绿色弹珠代表清洁的代码。在sprint的过程中,开发人员不断地把弹珠添加到应用罐子中。在发布周期结束时,罐子将被新的/更改的代码填满,并进入下一个应用版本。
现在,可以想象应用程序罐子是不透明的,也没有盖子。在sprint过程中,随着弹珠的积累,我们将永远无法知晓里面代码的情况。因为它是一个开放的罐子,所以开发人员合并的代码有质量或安全问题时,也无法阻止。只有当我们把里面的东西倒入构建机器时,弹珠的颜色才会显现出来。
如果你把大量的红色弹珠扔进你的构建机器里,那就会出问题。伴随这些问题而来的是一些艰难的决策。要么推迟发布,把红色弹珠重构为绿色弹珠,或者保持发布的时间,稍后再处理红色弹珠?
这两种选择都不太好。一再推迟发布只会让沟通变得沮丧且艰难,而保持进度就意味着制造更多的技术债务……这会降低开发人员的士气。如果我们把脆弱性也考虑在内,情况会变得更糟。其中的一些红色弹珠可能是安全问题,随时会被泄露出去,给您组织的声誉带来巨大危机。
未知的代码质量影响着决策的好坏
太多的开发组织把上述情况称为他们的发布过程——好像那是一种规范。但实际上,用这种方式工作的组织等于把发布团队置于一辆无尽的、不可预测的过山车上——发布完一个接下来又一个……
随着计划发布日期的临近,你不断地与突发的质量问题作斗争,这时还怎么有信心的做出Go / No-Go决定?无论你是产品经理、发布经理还是工程副总裁,做这个决定都不容易。但如果你能一直知道有多少红色弹珠在堆积,事情是不是就容易多了?其实,如果可以一开始就把红色弹珠排除在应用罐子外,就更好了。这时创造高质量应用程序的最有效的方式,把未知转换成已知,这就是Sonar能帮助你实现的。
Sonar:一种更好的开发方式
Sonar将“边写边清洁”的方法与IDE中的SonarLint和团队中的SonarQube或SonarCloud相结合。这个强大的组合可以持续分析代码,帮助你发现和修复IDE和PRs中的质量问题——在它们合并之前。这意味着你的应用罐子只会被绿色弹珠填充,因为它们是唯一被允许的。
在上面的类比中,我们说应用程序罐子没有盖子,所以红色和绿色的弹珠都很容易添加。如果我们能在罐子上加一个盖子,让它成为一个只允许绿色弹珠进入的智能盖子呢?Sonar可以这么做,它被称为质量门限,是“边写边清洁”概念的核心。
“边写边清洁”方法基于两个原则:
- 每个开发者都对自己代码的质量负责
- 只有通过质量门限的代码才会被合并
对于每个拉取请求,Sonar都会分析添加/更改的代码,如果代码不符合规定的质量标准,它就不会通过质量门限,而且不会被合并。红色弹珠不会造成发布时间问题了,因为它们根本不存在。
Sonar——营造轻松工作氛围
Sonar虽然简单,但它出奇的强大和高效。使用传统方法,你在有进展的同时需要偶尔停下来清洁、处理问题,然后再向前推进,属于进两步退一步。像这样的传统工作流程效率并不高,也不能持续地构建一个干净的应用程序,因为代码质量总是不透明。
Sonar还能系统地扭转技术债务负担,给团队带来良好的氛围。当你开始使用Sonar时,你可以通过“屏蔽”红色弹珠,将它排除在团队正在开发的新/更改代码以外,团队氛围立刻得到了缓和。随着时间的推移,您会重构代码库中重要的部分,当您这样做时,代码也将得到很好的清洁!代码库中充满了这些绿色代码,开发人员会很乐意工作。
Sonar——创造团队共赢
Sonar将清洁代码理论与实用工具相结合,使开发人员为自己编写的代码质量负责。流程可以说是最有力最重要的,也可能是最平淡无奇的一点。采用“边写边清洁”流程是真正的优势所在,因为这是Sonar的核心力量。它为开发工作流程中不可或缺的一部分,而没有它对团队来说是难以想象的!
开发者并不是唯一的受益方。为整个项目设置一个清晰的绿色/红色质量门限可以让发布决策变得简单——如果您的项目是绿色的,您就可以放心地发布。整个团队的压力就会变小,员工提高了工作满意度,保持了身心健康,员工保留率自然也更高。
Sonar可以成为催化剂,改变组织的发布思维,并且精简整个流程。Sonar对您的团队来说是一种变革。它真正实现了左移,为有才华的开发人员提供了满足客户的方法,让他们专注创造,而不是通过挖掘旧代码来修复问题——这种感觉超棒!
<下午6点,Acme Software的会议室,所有人的目光都聚焦在产品经理的身上…>
房间里的每个人都在等你着的回答。这时,你微笑着说:“Sonar质量门限是绿色的,我们准备好了!让我们与全世界分享它,他们正翘首以盼,大家干得漂亮!”你感到兴奋,因为这个版本有新的功能,能让竞争对手大吃一惊!
你对一位同事说,Sonar让你更容易判断应用程序的构建是否使用了清洁的代码,轻松做出了Go / No-Go的决定。
作者介绍:
克林特·卡梅隆Sonar产品营销经理
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。