【问题标题】:Enforcing coding standards for new code only仅对新代码执行编码标准
【发布时间】:2016-09-12 10:32:29
【问题描述】:

我公司的代码库已经很大了。但我们正在尝试通过此处的代码来提高质量。

我正在寻找一种在传递现有代码库的同时为新更改的代码强制执行代码标准的方法。

目前我有 Jenkins 作为 CI 工具,sonarqube 作为协调器,可以插入 resharper 和 stylcop。

但 sonarqube 目前只生成一份报告。

从现在开始,如果构建违反标准或不稳定,则构建必须失败。只能在 CI 工具级别完成吗?执行标准的方法是什么?

对于我的方案是否有替代或更好的方法?

【问题讨论】:

  • 像 Jenkins 和 Hudson 这样的 CI 工具是在出现违规时停止构建的唯一方法吗? sonarqube 或任何静态代码分析工具可以触发相同的功能吗?

标签: coding-style standards


【解决方案1】:

您的场景正是 Teamscale 的用途:接受遗留问题并专注于新代码或修改代码中的问题。由于 Teamscale 作为服务器运行并进行增量分析,因此您不必等待结果或触发任何分析。它还允许您配置可用于决定构建是否应该中断的指标阈值和质量目标。它还有一个文档齐全的 REST-API,因此可以轻松连接到 Jenkins。

【讨论】:

  • 谢谢!看起来确实很有希望......会检查并做出决定......
  • 因为它是一个服务器工具,只需要 devops-build 人员的许可证就足够了,对吧?对于 10 个开发人员来说,成本要高得多。
【解决方案2】:

你应该可以使用

https://github.com/exussum12/coverageChecker

用于离线检查。这是用 PHP 编写的(因此在您的 CI 服务器上需要 PHP),但支持其他报告的许多标准。

这需要完整的报告和差异,并且只显示已更改行上的错误。

因此,如果您更改了不符合标准的行,则需要在提交之前修复它不符合标准的原因。

所有新代码都必须符合您以这种方式设置的任何标准

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-09-20
    • 2013-08-21
    • 1970-01-01
    相关资源
    最近更新 更多