5

我按照这个 gitlab 文档(非常差的文档)设置了代码质量步骤: https ://docs.gitlab.com/ee/user/project/merge_requests/code_quality.html

现在代码质量步骤运行,我得到了报告(完美)。

但是,它似乎并没有检查太多,这里有一个例子:

:["Complexity"],"check_name":"method_count","content":{"body":""},"description":"`Admis` has 78 methods (exceeds 20 allowed). Consider refactoring.","fingerprint":"3a31032b9aff6d8b119f276d03a3c391","location":{"path":"src/main/java/nc/unc/importparcoursup/dao/admisDAO/Admis.java","lines":{"begin":14,"end":457}},"other_locations":[],"remediation_points":7000000,"severity":"major","type":"issue","engine_name":"structure"},{
:["Complexity"],"check_name":"file_lines","content":{"body":""},"description":"File `Candidat.java` has 945 lines of code (exceeds 250 allowed). Consider refactoring.","fingerprint":"4f570943e9f89fac8caa554c7e78f993","location":{"path":"src/main/java/nc/unc/importparcoursup/dao/candidatDAO/Candidat.java","lines":{"begin":1,"end":1184}},"other_locations":[],"remediation_points":11208000,"severity":"major","type":"issue","engine_name":"structure"},{
:["Complexity"],"check_name":"method_count","content":{"body":""},"description":"`Candidat` has 232 methods (exceeds 20 allowed). Consider refactoring.","fingerprint":"4dbebf004d9f5f3a1fabf03c43699c01","location":{"path":"src/main/java/nc/unc/importparcoursup/dao/candidatDAO/Candidat.java","lines":{"begin":14,"end":1184}},"other_locations":[],"remediation_points":22400000,"severity":"major","type":"issue","engine_name":"structure"},{
:["Bug Risk"],"check_name":"TODO","description":"TODO found","location":{"lines":{"begin":28,"end":28},"path":"src/main/java/nc/unc/importparcoursup/view/components/CheckComponentAdmis.java"},"type":"issue","engine_name":"fixme","fingerprint":"d8d52d96fc27f9b0a1f9879e7d133345","severity":"minor"}]
  • “method_count 和 file_lines”:适用于我的实体类,因此它们不是真正的错误(拆分实体类没有意义)
  • “TODO found”:真正的问题没问题(好棒的代码质量检查!)

我知道还有很多其他问题。如果我将代码放入声纳立方体,我会发现比这更多的问题)

所有错误(真实错误)在哪里?

有什么设置不好吗?

我的项目来源:https ://gitlab.com/tyvain/parcoursup

4

2 回答 2

9

您的存储库不包含代码质量检查的配置,因此它使用默认选项运行。

您可能应该添加一个 .codeclimate.yml 文件。(你也可以在那里运行声纳作为引擎......)

请参阅https://docs.codeclimate.com/docs/advanced-configurationhttps://docs.codeclimate.com/docs/list-of-engines

gitlab 默认情况下(即没有配置)似乎更适合网络项目,请参阅https://gitlab.com/gitlab-org/security-products/codequality/tree/master/codeclimate_defaults的默认配置

此外,您可能应该(可能另外)在工件下方的报告子条目中添加报告,例如:

  artifacts:
    paths:
      - gl-code-quality-report.json
    reports:
      codequality: gl-code-quality-report.json

这样,gitlab 会在合并请求中显示新的/已修复的问题(在付费级别),请参阅

问候,蒂姆

于 2019-02-24T22:31:00.007 回答
1

从那时起,2018 年的文档有了很大的发展,现在使用GitLab 13.6(2020 年 11 月,两年后)发现的潜在质量警告更加明显

显示代码质量严重性等级

GitLab 中的代码质量功能非常适合显示项目中存在哪些质量违规或在合并请求中正在发生变化。然而,在今天的 GitLab 界面中,还不清楚哪些违规行为最重要。

使用完整的代码质量报告和合并请求小部件,现在您可以查看严重性等级。这使您可以轻松了解在合并之前最需要解决哪些代码质量违规问题,并减少项目中的技术债务。

https://about.gitlab.com/images/13_6/code_quality_severity.png -- 显示代码质量严重性等级

请参阅文档问题

于 2020-11-22T20:51:44.423 回答