Більшість Ruby-розробників використовують RuboCop як автоформатер. Але його потенціал значно більший.
Рекомендуємо звернути увагу на додаткові набори правил:
•
rubocop-performance — знаходить неефективний Ruby-код•
rubocop-rspec — покращує якість тестів•
rubocop-rails — перевіряє Rails-специфічні антипатерниЧасто один новий cop може виявити десятки проблем по всьому проєкту.
📌 Reek
Шукає code smells.
На відміну від RuboCop, аналізує не стиль, а дизайн коду.
Наприклад:
• Long Method
• Feature Envy
• Utility Function
• Too Many Parameters
Саме Reek часто показує місця, які давно просяться на рефакторинг.
📌 Flog
Вимірює складність методів.
Якщо метод отримує високий Flog score — це сигнал, що його важко читати, тестувати та підтримувати.
Корисно запускати перед великим рефакторингом, щоб зрозуміти, де найбільший біль у проєкті.
📌 Flay
Шукає дублювання коду.
І не просто копіпасту рядок у рядок.
Flay знаходить схожі фрагменти логіки навіть після перейменування змінних або незначних змін у коді.
Іноді після запуску виявляється, що один і той самий алгоритм реалізований у 5 різних сервісах.
📚 Хороший код — це не той, який написали красиво сьогодні.
Хороший код — це той, який команда зможе підтримувати через рік.
А ви використовуєте щось окрім RuboCop для контролю якості коду?
TikTok | Instagram | Telegram