Arhn - архитектура программирования

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

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

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

Что-то плохо настроил?

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


Ответы:


1

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

Вероятно, вам следует добавить файл .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 показывает новые/исправленные проблемы в мерж-реквестах (на платных уровнях), см.

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

24.02.2019

2

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

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

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

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

https://about.gitlab.com/images/13_6/code_quality_severity.png -- Показать оценки серьезности качества кода

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

22.11.2020
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..