Coding style 我们应该使用什么标准来判断代码质量?

Coding style 我们应该使用什么标准来判断代码质量?,coding-style,code-metrics,Coding Style,Code Metrics,我目前正在一个大型项目中工作,在这个项目中,许多开发人员长期工作,代码非常糟糕。经过多次重构之后,我们现在达到了代码正常的程度。现在我在想“ok”是什么意思——可能对每个人来说都有不同的含义 你认为可以指定“ok”吗?什么是重要的?独立指标?测试覆盖率?评论?编码风格?文件 我知道已经有很多关于编码风格或注释的主题(例如)。这个问题只是关于哪些事实是重要的。我认为对于任何非琐碎的项目,您都应该有适当的编码指南(样式、注释等)和度量标准,以了解它们是否被遵循。您列出的列表是一个很好的开始。有很多东

我目前正在一个大型项目中工作,在这个项目中,许多开发人员长期工作,代码非常糟糕。经过多次重构之后,我们现在达到了代码正常的程度。现在我在想“ok”是什么意思——可能对每个人来说都有不同的含义

你认为可以指定“ok”吗?什么是重要的?独立指标?测试覆盖率?评论?编码风格?文件


我知道已经有很多关于编码风格或注释的主题(例如)。这个问题只是关于哪些事实是重要的。

我认为对于任何非琐碎的项目,您都应该有适当的编码指南(样式、注释等)和度量标准,以了解它们是否被遵循。您列出的列表是一个很好的开始。

有很多东西可以说是ok/good代码的属性

  • 编译时没有错误或警告

关于这个话题,还有一些其他的话题…

你把两个不同的东西混在一起了

您谈到了编码风格,但随后提到了测试覆盖率、度量等

编码风格当然可以指定-所有需求文档必须声明的是“为了代码维护和一致性,本项目将遵循这些编码风格和标准。”

然而,一般来说,大多数项目只需要“良好的行业实践”和“整个项目一致的编码风格”,并将其实际定义和实现留给开发人员

然而,您正在讨论的其他问题,需要重构、测试、覆盖率等的糟糕代码(我也会抛出LINT和静态分析),这些都应该明确指定和要求。没有理由将它们排除在规范之外——它们是硬指标,用于显示任何给定代码中可能出现的编码错误类型(或者,在样式和错误代码之间处于模糊的界限上,什么类型的编码模式可能产生错误代码),以及它的性能如何,以及测试显示正确操作的程度

例如,在大型项目中,客户将与主要开发人员坐下来讨论LINT配置,以确保它满足他们的需求,并且没有任何琐碎的错误会阻碍开发

因此,简言之,是的,所有这些都可以(而且应该,IMHO)被指定用于任何重要的项目


-亚当

你说得对,每个人都不一样。这就是说,一旦定义了期望值,保持它向前发展的最佳方法就是频繁地进行代码审查


人们,尤其是项目中的新人,总是带着自己的风格。代码审查有助于使代码双性化。

有许多与代码和工具无关的事情可以提高项目的质量

  • 需求管理。 制定一些流程,将质量控制应用于您的需求。它们有意义吗?谁要的?他们是提出这些要求的合适人选吗

  • 测试设计。 根据需求而不是实现构建测试。 不要让你的程序员做测试

  • 每次都要测试一切。 对每个版本进行完整的测试周期,没有次要版本

  • 根据我的经验,像代码度量和代码标准这样的东西从来都不起作用。你会知道谁是无谓的编码者;你不需要一个正式的过程来识别他们


    真正能提高质量和输出的技术是代码检查。你需要一些专业知识和骨干,让你的三个资源每天花费5天的工作时间。但是,没有什么能如此深思熟虑地揭示潜在的问题,而且,达米特人只要知道下周有人要批评它,就会写出更好的代码。

    StyleCop。。。还有,FxCop


    一个团队应该绝对标准化他们的风格。有一些个人选择的空间,但是一个团队应该绝对标准化他们的风格。代码更具可读性、更易于维护、更易于审查等等。

    某种指导原则(风格不如内容重要),例如最佳模式/实践,但更重要的是代码审查。

    我同意,只要指导原则意味着你可以做一些不同的事情,如果你能提出一个很好的理由。如果这是一个很好的理由,那么应该调整指导方针以采用它。