目前,我正在一个项目中,我的目标是获得最好的代码质量。
我们有单元,集成和e2e测试。e2e测试是由业务团队用黄瓜编写的,这些测试是实现用户故事结束的最终条件。而且,所有的特性都必须有我们想要改变的指标。我还增加了突变测试,我们已经有近100%的突变体被杀死(因此,我们也有100%的覆盖率)。
我们在Sonar建立了最严格的规则,我们所有的代码都有A级。我们也有压力测试,我们是符合的结果。
我真的为这个项目感到骄傲,是的,拥有这样的质量水平确实有助于我们产品的安全性,现在我们的发展速度比以往任何时候都快。
目前,我们是一个4开发团队,加上我作为一个开发/团队的领导。我们进行代码评审,由团队成员批准1份,其他团队的开发人员批准另一份,以获得一个新的视角&检查我们的业务代码是否可以理解。
我们不希望批准的修补程序是因为..。这是一个热点修复,有时交付时间是至关重要的。在过去的两个月里,我们没有出现过这样的问题,当时我们不仅在代码上,而且在特性定义步骤上,都制定了质量第一的政策。
我们来自一个特性第一环境,在这些更改之后,业务/产品团队可以看到越来越多的客户批准,因为我们将bug减少到几乎为零。
所以..。要达到更高的质量,下一步是什么?
发布于 2021-07-04 03:11:08
我没听到你提到的是同行评议。
你确实说了很多‘我们’。所以我猜这是个团队。一个团队的最佳使用是检查你不是简单地欺骗自己你是多么的棒。
同行评审生产代码。同行评审测试代码。查看是否编写了可读代码的最佳方法是让其他人阅读它。让我们做得更好,而不是仅仅保持CPU的快乐。
而且,您似乎对代码质量太热心了。虽然代码质量当然是一件好事,但以它的名义做坏事是很容易的。通过理智检查来防止这件事。注意那些需要时间来创建但并不能真正帮助您更快地发现缺陷的测试。注意那些将结构强加于代码的测试(可能是通过在抽象后面挖掘),并使重构变得更加困难。
也不要过分依赖分析工具。我将接受人类审查员对某些工具对可读性的看法的主观但深思熟虑的观点。使用这些工具提醒你要考虑的事情。不要把他们当作神来崇拜。它们是好工具,但却是拙劣的主人。
最重要的是。别忘了,关键是完成一项工作。
关于您的热修复编辑,当时间是关键时,您可以通过对等检查和对编程避免占用正式的同行评审。坐在一个键盘前的两个人可以完成很多任务。)柯维德还在到处跑,这是很难的。请接种疫苗)。当你不能真正成对程序时,一旦你有工作代码来炫耀并吸引他们的目光,你就抓住一个人。让他们坐在你的椅子上,听取他们的意见。这是同侪检查。
即使这地方着火了,还是有时间安全地行动。
发布于 2021-07-04 16:02:53
您描述了许多技术解决方案,因此我认为您已经了解了这一点。下一步是考虑一些更广泛的问题,如
有大量关于质量控制的文献。其中很大一部分来自于上世纪60年代或之前的S,但今天也同样重要。戴明的14点观点和致命疾病是一个很好的开始,但我建议继续他的书“走出危机”(Shewhart,Juran,Taiichi Ohno,Reinertsen,Wheeler,取决于你想从哪里开始)。
一般原则是:
发布于 2021-07-05 18:35:50
性能测试。
让我们假设在所有测试中,代码都是无缺陷的。
恭喜,但tbh无缺陷代码是预期的!不是由开发者确定,而是一般情况下。
对于高质量代码来说,要做的事情就是让它在尽可能小的内存、cpu和时间约束下运行。
https://softwareengineering.stackexchange.com/questions/429954
复制相似问题