Pull to refresh

Как сделать мир прекрасней с помощью Intellij IDEA и дополнениями к CheckStyle

JavaDesigning and refactoringPerfect code
Awaiting invitation


Многие в курсе, что Intellij IDEA на то и Intellij чтобы предугадывать наши мысли. Во многом это благодаря встроенным проверкам (инспекциям). Инспекции — это средства для статического анализа кода, которые помогают найти слабые места нашего кода и улучшить его структуру. А как на счет читаемости кода для дальнейшей его поддержки? В этом нам поможет CheckStyle-IDEA plugin.

Данная статья содержит размышления об автоматической проверке кода и описание процесса подключения кастомных (non-standard) чеков для плагина Checkstyle-IDEA в Intellij IDEA. Всех тех, кому это может быть интересно, прошу под кат.

Многие знают, что выражать свои мысли на бумаге нужно грамотно и понятно. Нужно соблюдать правила пунктуации и грамматики, владеть языком, на котором ты общаешься с читателем. Все знают, но мало кто умеет это делать на практике. Зачастую только потому, что некому проверить. Ошибки, опечатки случайным образом появляются и внимание на них не заостряется, когда идет благословенный поток мыслей. Грамматику и орфографию еще можно проверить машинным способом — например словарем, а стиль повествования или структуру текста, понятность, доходчивость, простоту излагаемой мысли — самому проверить трудно, а зачастую и невозможно. И не потому, что ты невнимательный или глупый, не потому что ты уже три ночи пишешь и пишешь. И не потому, что твой начальник дурак, а в стране беспорядок … нет, просто твой взгляд замылен.

Чтобы исправить ситуацию есть два пути:
  • Первый. Очевидный. Ты вчитываешься в текст, масса редакций, вариантов, применяешь техники, копируешь чужой стиль. И в итоге ты уверен на 100% в своей идеальности, приходишь весь гордый сдавать работу и… тебя отправляют переделывать. Потому, что стиль никчемный, ошибок куча и вообще ничего не понятно. Жизнь закончена, приходишь домой к девяти в пустую квартиру и плачешь на табуретке над своей работой.
  • Второй. Умный. Ты вчитываешься в текст, масса редакций, вариантов, применяешь техники, копируешь чужой стиль. Но, во время всего процесса совершенствования ты регулярно советуешься со своим наставником, учителем или ментором. Он знает критерии достойного стиля, проверяет оформление и контролирует все это в процессе, а не по итогу. Это менее травматично и переносится не так сложно.


Все эти проблемы я встретил при написании кода. Компилятор проверял мои “орфографические ошибки”, а хорошим наставником для проверки моего стиля программирования стал Checkstyle. По мере изучения правил чистого стиля, я писал новые проверки для Checkstyle в рамках проекта Sevntu-Checkstyle, которыe работали в Eclipse и во время сборки использовались Maven-ом. Но, так как на моей работе рекомендовано работать на IDEA, я решил адаптировать мной написанные проверки для этой замечательной среды разработки и начинать внедрять свои наработки в рабочий процесс.

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

Собственные проверки я написал при участии в проекте под названием «SevNTU-Checkstyle». (для справки: СевНТУ — Севастопольский Национальный Технический Университет).

Установка CheckStyle-IDEA.

1. Открываем file>Settings>IDE Settings>plugins.
Жмем кнопку Browse repositories…
Ищем «Checkstyle-idea» и устанавливаем плагин.



Конфигурация CheckStyle-IDEA. Добавление новых проверок.

1. Качаем sevntu-checkstyle-idea-extension-X.XX.X.jar из репозитория. Файл содержит дополнительные проверки от проекта «SevNTU-Checkstyle».
2. Качаем стандартную конфигурацию этих проверок checkstyle-default-configuration.xml
3. Открываем file>Settings>IDE Settings>CheckStyle



4. Добавляем сторонние проверки(Third-Party checks), скачанные ранее.



5. Добавляем файл конфигурации для third-party Cheks.





Конфигурируем инспектор(Inspection).

По умолчанию IDEA проверяет код множеством встроенных проверок. Для того чтобы настроить IDE под свои потребности, нужно создать и настроить новый профиль. В данном случае, для демонстрации, мы оставляем включенный только Checkstyle.

1. Открываем: Analyze > Inspect Code…



2. Добавляем новый профиль.



3. Выбираем все интересующие нас инспекторы, или как в нашем случае, только Checkstyle.
4. Жмем «Apply» и «ok».

Активизируем CheckStyle-IDEA

1. Открываем Analyze>Inspect code…
2. Выбираем нужный профиль, область анализа и жмем «ok».



3. Как результат, получаем анализ нашего кода



Заключение

SevNTU Checkstyle проект может служить примером того, как внедрять в CheckStyle-IDEA плагин самостоятельно написанные проверки или использовать наши.

На данном этапе идет активная работа в области интегрирования кастомных чеков в IDEA. Наше решение предоставляет возможность использовать единый стандарт, вне зависимости от используемой среды разработки (Eclipse или IDEA) и является шагом в сторону создания универсального решения.

Надеемся, наши наработки будут вам полезны и помогут в написании чистого и легко читаемого кода. А возможно мы смогли вас вдохновить на написание собственных проверок, которые сделают этот мир прекраснее!

Более подробная инструкция: How to use SevNTU Checkstyle in Intellij IDEA.
Google группа для разработчиков: sevntu-checkstyle
Проект на GitHub: SevNTU-Checkstyle содержит 25 дополнительных проверок
CheckStyle-IDEA плагин: checkstyle-idea

Изображения в заголовке взяты из статьи “URSUS WEHRLI, OR THE IMPORTANCE OF BEING COMPULSIVELY TIDY”
Tags:SevNTU-CheckstyleCheckstyleCheckStyle-IDEAIntellij IDEAJavaCheckStyle в IDEA
Hubs:JavaDesigning and refactoringPerfect code
You can’t comment this post because its author is not yet a full member of the community. You will be able to contact the author only after he or she has been invited by someone in the community. Until then, author’s username will be hidden by an alias.