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」: 実際の問題はOK (ブラボーコードの品質チェック!)

他にも多くの問題があることを私は知っています。コードを sonarcube に入れると、それよりも多くの問題が見つかります)

すべてのエラー (本当のエラー) はどこにありますか?

何か設定が間違っていませんか?

私のプロジェクトのソース: https://gitlab.com/tyvain/parcousup

4

2 に答える 2

9

リポジトリにはコード品質チェックの構成が含まれていないため、デフォルトのオプションで実行されます。

おそらく、.codeclimate.yml ファイルを追加する必要があります。(ソナーをエンジンとして実行することもできます...)

https://docs.codeclimate.com/docs/advanced-configurationおよびhttps://docs.codeclimate.com/docs/list-of-enginesを参照してください。

デフォルトの gitlab (つまり、構成なし) は Web プロジェクトにより適しているようです。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 (2 年後の 2020 年 11 月) では、発見された潜在的な品質警告がはるかに明確になりました。

コード品質の深刻度の評価を表示する

GitLab のコード品質機能は、プロジェクトに存在する品質違反や、マージ リクエストで変化している品質違反を示すのに優れています。しかし、今日の GitLab インターフェースでは、これらの違反のどれが最も重要であるかを理解することは明確ではありません。

完全なコード品質レポートとマージ リクエスト ウィジェットを使用して、重大度の評価を確認できるようになりました。これにより、マージ前にどのコード品質違反を解決することが最も重要であるかを簡単に理解し、プロジェクトの技術的負債を軽減できます。

https://about.gitlab.com/images/13_6/code_quality_severity.png -- コード品質の重大度評価を表示

ドキュメント問題を参照してください。

于 2020-11-22T20:51:44.423 に答える