Gitlab и Code-Climate - что это на самом деле охватывает? ничего такого?

Я настраиваю шаг качества кода, следуя этому документу 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 and file_lines": для моего класса сущностей, поэтому они не являются реальными ошибками (нет смысла разбивать класс сущностей)
  • "TODO found": реальная проблема в порядке (проверка качества кода браво!)

Я знаю, что есть много других проблем. Если я помещу код в sonarcube, я найду намного больше проблем, чем это)

Где все ошибки (настоящие)?

Неужели что-то плохо настроено?

Источник моего проекта: https://gitlab.com/tyvain/parcoursup

0 ответов

Ваш репозиторий не содержит конфигурацию для проверки качества кода, поэтому он работает с параметрами по умолчанию.

Вы, вероятно, должны добавить.codeclimate.yml-файл. (Вы также можете запустить гидролокатор в качестве двигателя там...)

См. https://docs.codeclimate.com/docs/advanced-configuration и https://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 показывает новые / исправленные проблемы в запросах на слияние (на платных уровнях), см.

С уважением, Тим

С тех пор эта документация 2018 года претерпела значительные изменения, и обнаруженные потенциальные предупреждения о качестве стали гораздо более заметны с GitLab 13.6 (ноябрь 2020 года, два года спустя).

Рейтинг серьезности качества отображаемого кода

Функция качества кода в GitLab отлично показывает, какие нарушения качества существуют в проекте или изменяются в запросе на слияние. Однако понимание того, какое из этих нарушений является наиболее важным, сегодня в интерфейсе GitLab неясно.

С помощью отчета о качестве полного кода и виджета Merge Request теперь вы можете увидеть рейтинг серьезности. Это упрощает понимание того, какие нарушения качества кода наиболее важно устранить перед объединением, и снижает технический долг в вашем проекте.

См. Документацию и проблему.

Другие вопросы по тегам