首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >实现最佳代码质量的步骤?

实现最佳代码质量的步骤?
EN

Software Engineering用户
提问于 2021-07-04 00:01:03
回答 3查看 496关注 0票数 4

目前,我正在一个项目中,我的目标是获得最好的代码质量。

我们有单元,集成和e2e测试。e2e测试是由业务团队用黄瓜编写的,这些测试是实现用户故事结束的最终条件。而且,所有的特性都必须有我们想要改变的指标。我还增加了突变测试,我们已经有近100%的突变体被杀死(因此,我们也有100%的覆盖率)。

我们在Sonar建立了最严格的规则,我们所有的代码都有A级。我们也有压力测试,我们是符合的结果。

我真的为这个项目感到骄傲,是的,拥有这样的质量水平确实有助于我们产品的安全性,现在我们的发展速度比以往任何时候都快。

目前,我们是一个4开发团队,加上我作为一个开发/团队的领导。我们进行代码评审,由团队成员批准1份,其他团队的开发人员批准另一份,以获得一个新的视角&检查我们的业务代码是否可以理解。

我们不希望批准的修补程序是因为..。这是一个热点修复,有时交付时间是至关重要的。在过去的两个月里,我们没有出现过这样的问题,当时我们不仅在代码上,而且在特性定义步骤上,都制定了质量第一的政策。

我们来自一个特性第一环境,在这些更改之后,业务/产品团队可以看到越来越多的客户批准,因为我们将bug减少到几乎为零。

所以..。要达到更高的质量,下一步是什么?

EN

回答 3

Software Engineering用户

发布于 2021-07-04 03:11:08

我没听到你提到的是同行评议。

你确实说了很多‘我们’。所以我猜这是个团队。一个团队的最佳使用是检查你不是简单地欺骗自己你是多么的棒。

同行评审生产代码。同行评审测试代码。查看是否编写了可读代码的最佳方法是让其他人阅读它。让我们做得更好,而不是仅仅保持CPU的快乐。

而且,您似乎对代码质量太热心了。虽然代码质量当然是一件好事,但以它的名义做坏事是很容易的。通过理智检查来防止这件事。注意那些需要时间来创建但并不能真正帮助您更快地发现缺陷的测试。注意那些将结构强加于代码的测试(可能是通过在抽象后面挖掘),并使重构变得更加困难。

也不要过分依赖分析工具。我将接受人类审查员对某些工具对可读性的看法的主观但深思熟虑的观点。使用这些工具提醒你要考虑的事情。不要把他们当作神来崇拜。它们是好工具,但却是拙劣的主人。

最重要的是。别忘了,关键是完成一项工作。

关于您的热修复编辑,当时间是关键时,您可以通过对等检查和对编程避免占用正式的同行评审。坐在一个键盘前的两个人可以完成很多任务。)柯维德还在到处跑,这是很难的。请接种疫苗)。当你不能真正成对程序时,一旦你有工作代码来炫耀并吸引他们的目光,你就抓住一个人。让他们坐在你的椅子上,听取他们的意见。这是同侪检查。

即使这地方着火了,还是有时间安全地行动。

票数 12
EN

Software Engineering用户

发布于 2021-07-04 16:02:53

您描述了许多技术解决方案,因此我认为您已经了解了这一点。下一步是考虑一些更广泛的问题,如

  • 什么是质量?
  • 这种品质是给谁的?
  • 对他们来说很重要吗?
  • 为什么这对他们很重要?
  • 他们真的想付钱吗?比现在少还是多?
  • 他们愿意为别的东西付钱吗?
  • 我们是否收集由客户定义的质量统计证据?
  • 当我们解决问题时,我们是在进行局部修复,还是在整个系统范围内进行大规模的更改,比如调整组织层次,以防止出现整个类别的问题?
  • 我们是否相信我们雇用的人是质量的关键?
  • 为我们工作的人是否乐意这样做?我们怎么知道?我们要到什么时候才能知道是否有人不再快乐,害怕说出来呢?
  • 如果经济不景气,我们要削减多少开支来维持我们雇用的人呢?
  • 由于质量的提高,我们能持续降低成本和价格吗?
  • 我们有时在追鬼吗?还是我们只对真正的问题采取行动?
  • 对我们目前质量水平的威胁是什么?
  • 我们如何在3年后建立起一种确保质量的文化? 5? 10?
  • 我们的质量水平是否受限于代码,还是我们与客户也有高质量的关系?我们怎么知道?客户关系改善的最大点是什么?
  • 我们的文件质量好吗?安装说明,用户指南?
  • 我们与供应商有高质量的关系吗?我们怎么知道?最大的改进点是什么?
  • 如果我们遇到一个供应商的麻烦,我们的质量会受到影响吗?我们怎样才能避免这种情况?

有大量关于质量控制的文献。其中很大一部分来自于上世纪60年代或之前的S,但今天也同样重要。戴明的14点观点和致命疾病是一个很好的开始,但我建议继续他的书“走出危机”(Shewhart,Juran,Taiichi Ohno,Reinertsen,Wheeler,取决于你想从哪里开始)。

一般原则是:

  • 不仅要考虑代码,还要考虑它周围的整个系统(组织的其他部分、竞争对手、供应商、客户、法规和标准以及上述三者之间的关系)。在最有效的地方进行修复,而不是最方便的地方。
  • 用统计数据从噪声中提取信号。过度解读噪音是一个伟大的质量杀手。
  • 在整个组织中采用实验性的思维方式。建立假设,尝试它们,根据结果进行调整。这尤其适用于最高管理层。(见上文关于统计数字。)
票数 5
EN

Software Engineering用户

发布于 2021-07-05 18:35:50

性能测试。

让我们假设在所有测试中,代码都是无缺陷的。

恭喜,但tbh无缺陷代码是预期的!不是由开发者确定,而是一般情况下。

对于高质量代码来说,要做的事情就是让它在尽可能小的内存、cpu和时间约束下运行。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/429954

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档