Самокритика, RubyMine и графики

01 февраля 2023
Самокритика, RubyMine и графики

В этом дайджесте обсудим инструмент rubycritic, взглянем на новый интерфейс RubyMine и некоторые утилиты визуализации данных. Мы стремимся сделать ваш опыт работы с Ruby интересным!

Конструктивная критика

Все любят, когда их работу хвалят. А вот к критике большинство относится с негативом. Даже если она конструктивная, правильно её обработать бывает трудно. Разработчики вынуждены показывать свой код коллегам и сталкиваться с оценочными суждениями. С одной стороны, это даёт возможность для улучшения качества и процесса разработки. А с другой, может создавать дискомфорт.

Между «показать код человеку» и «показать код программе» есть разница. Разработчики постоянно читают код и делают это чаще, чем пишут. Поэтому показать свой код коллеге и попросить оставить комментарии — отличная идея. Ну а на постоянной основе «причёсыванием» кода занимаются приложения-линтеры. Кроме них в мире Ruby-разработки существуют такие утилиты, как Reek, Flay и Flog.

Первая ищет «код с душком» — потенциально проблемные участки кода. Вторая анализирует код на предмет наличия структурно похожих участков, выявляя потенциальных кандидатов на рефакторинг. А третья анализирует метрику сложности. Достаточно воспользоваться каждой из этих утилит, чтобы получить однозначный вывод о качестве кода.

Разработчик Guilherme Simões значительно упростил процесс самостоятельной проверки, создав проект rubycritic. В нём он объединил возможности вышеперечисленных утилит, добавив удобный интерфейс для просмотра результатов. Инструмент проверяет код и формирует подробный отчёт по всем найденным проблемам. Разработчику остаётся его просмотреть и наметить области, требующие улучшения или полной переработки. В большинстве случаев это поможет получить объективную оценку без участия человека.

Новый UI в RubyMine

JetBrains стремительно готовятся переводить RubyMine на новый UI. Нет ничего хуже неизвестности, поэтому из обновления не стали делать секрета. Новый интерфейс кардинально отличается от предыдущего. Для сравнения главное окно RubyMine со старым и новым интерфейсом:

RubyMine на новый UI

new_interface

Заголовок окна стал значительно проще. Разработчики убрали все разделы меню под единую кнопку с пиктограммой «гамбургера». На их место встали виджеты проекта, контроля версий и запуска. Панель навигации переехала вниз, в строку состояния.

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

Рисуем графики

Если нужно отрисовать график с использованием Python, то в большинстве случаев разработчики и дата-аналитики обращаются к библиотеке matplotlib. Даже далёким от программирования людям обычно не составит труда построить простой график из готовых данных буквально за 8 строчек кода. Профессионалы же получают обширный набор инструментов, который способен визуализировать любые данные. А как с этим обстоят дела в мире Ruby-разработки?

Здесь есть любопытные утилиты. Например, YouPlot. В его основе лежит библиотека unicode_plot. Это отличный вариант, если нужно одной командой загрузить файл с данными, отсортировать их и вывести в виде красивого графика или диаграммы прямо в консоль:

YouPlot

Rails может похвастаться инструментом Chartkick. Он позволяет буквально одной строкой на Ruby вывести нужный график. Это может быть линейный график, круговая или столбчатая диаграмма — вариантов множество. Упор сделан на то, чтобы перестать тратить время разработчиков на борьбу с библиотеками визуализации. Большинство задач решается без необходимости вдумчиво изучать документацию. Каждый график и диаграмма при этом может быть настроена десятком различных опций.

После установки gem и простой настройки окружения можно протестировать инструмент:

<%= line_chart User.group_by_day(:created_at).count %>

Обратите внимание, что для метода group_by_day надо поставить ещё один gem — groupdate

Выводом будет красивый линейный график:

Выводом будет красивый линейный график:

Митапы

Онлайн

Ruby meetup №18

22 февраля 2023

Совсем скоро мы соберёмся на замечательный Ruby Meetup. Программа мероприятия формируется, но регистрация уже открыта. Кстати, вы уже можете подать доклад прямо в режиме онлайн. Заявки на участие принимаются до 10 февраля!

Теперь следить за митапами Evrone стало удобнее. В Telegram-канале Evrone meetups мы выкладываем анонсы с подробными описаниями докладов, а также студийные записи после мероприятий. А ещё, у нас можно выступить, мы поможем оформить вашу экспертизу в яркое выступление. Подписывайтесь и пишите @andrew_aquariuss, чтобы узнать подробности.

Регистрация

Вакансии

Удаленка / Офис

Evrone 

Мы открыты для новых Ruby-разработчиков. В Evrone можно работать удалённо с первого дня, мы поддерживаем и оплачиваем участие в Open-source проектах и выступления на конференциях, а расти в грейдах можно с помощью честной системы проверки навыков и менторства.

Подробнее

Подписаться
на Digest →
Важные новости и мероприятия без спама
Технологии которыми вы владеете и которые вам интересны
Ваш адрес электронной почты в безопасности - вот наша политика конфиденциальности.