Code Climate: особенности использования в разработке

Дата публикации:

Code Climate (СС) используется с единственной целью: помочь команде программистов писать чистый код. Переоценить его значимость для разработки очень сложно.  CC производит статический и автоматизированный анализ кода для Ruby on Rails, JavaScript, PHP (в бета-версии) или Python (в бета-версии), а затем предоставляет легко читаемые и действительно значимые выводы.

Как это работает

  • Шаг 1: Пуш коммита в репозиторий (поддерживаются Git репозитории).
  • Шаг 2: СС автоматически клонирует/вытягивает из хранилища и анализирует каждый коммит.
  • Шаг 3: Результаты анализа дают возможность отслеживать изменения в фиде, умные оповещения по электронной почте и интеграции уведомлений.

Хуки

CC узнает о новом событии в репозитории при помощи хуков, навешанных на git сервер. Они, в свою очередь, делятся на две категории:

  • Вебхуки — запросы от git сервера на СС endpoint url после пуша коммита в default branch.
  • Сервисные хуки — предназначены сугубо для Github. Они предоставляют более расширенный набор нотификаций для CC — события о пуше новой ветки, об открытии ПР и т.д.

Для репозитория без хуков, но с подключенным СС возможно активизировать автополлинг изменений. Его производит непосредственно Code Climate.

На примере гитхаба

  1. Получаем API токен из профайла в СС;
    code-climate-1
  2. Добавляем айдишник репозитория из фида на CC

code-climate-2

  1. Создаем вебхук на github (админ справа в репозитории)

code-climate-3

Понятие оценок качества кода (ABC Metrics)

ABC метрика — часто используемая методика измерения размера программного обеспечения. Этот показатель является одним (хотя и не обязательно единственным) из способов, используемых CC для оценки сложности кода. Он показывает характеристику накапливания технического долга приложения.

Чем выше значение, тем сложнее оценить заданный кусок кода для чтения, тестирования и поддержки. Итоговый показатель складывается из:

  • количества присвоений в методе;
  • количества выходов из процедурного потока выполнения кода для выполнения кода, определенного в другом месте;
  • количества условных ветвлений if/elses, cases, try/catches, boolean tests, less than or equal to evaluations

Специально для Ruby используется модифицированный Flog gem:

  • оценка мета-кода
  • анализ дублирующихся фрагментов кода;

Понятие оценок качества кода (GPA)

GPA (grade point average) — система школьной оценки качества знаний. Демонстрирует общий уровень кода на основе средневзвешенных ABC-метрик всех существующих классов и методов приложения. При этом каждый отдельный issue (например: дублирование, сложности метода) имеет свой собственный вес, позволяющий нам вычислить их общую “стоимость”. Она демонстрируется на дэшборде приложения и может быть вынесена на гитхаб в качестве виджета.

code-climate-4

CC в качестве CI

СС способен интегрироваться с рядом CI продуктов: Semaphore, Solano Labs, Travis C., Jenkins. Он агрегирует данные о тестовом покрытии и отражает текущий статус билда проекта. Code Climate производит переоценку ABC-значений кода в ту или иную сторону, в зависимости от репорта CI-сервера. В итоге даже грамотно продуманный код может заслужить желтый флаг, как продукт, не прошедший тестирование в полном объеме.

Мы Крым Диджитал

С 2015 года мы предоставляем полный цикл услуг мобильной и веб-разработки клиентам из различных отраслей и разных стран.

Подпишись
на наши новости

Контакты пресс-службы

+ 7 (926) 118-80-32

WhatsApp, Viber, Telegram

Давайте обсудим Ваш проект

или свяжитесь с нами по почте projects@crimeadigital.ru

Нажимая кнопку «Отправить», вы даете согласие на обработку персональных данных

Прошел день карьеры в СевГУ

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая. Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы. Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов — как начать свою карьеру в ИТ? Есть ли возможность совмещать учебу с работой? Кем я смогу стать? Как понять, кем я хочу работать? И многие другие.

Резидент технопарка, компания Крым Диджитал, приняла участие в Дне Карьеры в СевГУ, который прошел 17 мая.

Мероприятие длилось 3 часа. Компанией заинтересовались  более 35 студентов, которым была важна информация о прохождении практики, бесплатные курсы Академии и вакансии, не требующие опыта работы.

Руководитель разработки компании выступил с презентацией и ответил на все вопросы, которые так волнуют студентов - как начать свою карьеру в ИТ?

Есть ли возможность совмещать учебу с работой?

Кем я смогу стать?

Как понять, кем я хочу работать?

И многие другие.

Завершен набор студентов на летнюю практику

Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться — front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.
Крым Диджитал завершила набор студентов на летнюю практику. В июле придут 14 человек. Это студенты второго и третьего курсов кафедр Программная инженерия, Информатика и вычислительная техника, Информационные системы и технологии и Управление в технических системах. Все ребята будут ходить в офис и будут заняты реальным проектом, который они должны реализовать до конца практики. Каждый выбрал для себя то направление, в котором хотел бы развиваться - front-end и back-end-разработка, дизайн. Руководить практикой будет Head of Engineering.

Крым Диджитал приняла участие в стратегической сессии

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня. Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства. Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Руководители Крым Диджитал приняли участие в стратегической сессии, которая прошла на базе СевГУ 10 июня.

Вместе с Правительством Севастополя, Институтом информационных технологий и управления в технических системах СевГУ и приглашенными ИТ-компаниями города обсудили перспективу развития системы высшего образования в Севастополе.
Представители бизнеса, власти и образовательной системы выступали со своим видением будущих потребностей региона в кадрах, поднимали насущные вопросы обучения студентов, прохождения практики и дальнейшего трудоустройства.

Крым Диджитал является амбассадором идеи образования и взращивания молодых кадров, развивает образовательные проекты и на протяжении 5 последних лет ведет активную работу в направлении поддержки и развития молодых специалистов ИТ-отрасли Крыма.

Выпуск курса Software Testing

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing! Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании. Следующий курс намечен на август. Не пропусти анонс записи!

Мы поздравляем выпускников нашего первого в этом году курса Крым Диджитал Академии по Software Testing!

Всего курс успешно завершили 13 человек. В течение 2 месяцев несмотря на теплую погоду и манящее море ребята ответственно посещали занятия 2 раза в неделю, делали домашние задания и проверочные работы. Трое начинающих специалистов теперь стажеры нашей компании.

Следующий курс намечен на август. Не пропусти анонс записи!