Monday, March 3, 2014

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

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



Многие в курсе, что 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”









No comments:

Post a Comment