Настройка IDEA для чистокодеров

Настройка IDEA для чистокодеров

Я люблю две вещи: Intellij IDEA и чистый код (Clean Code). IDEA создана для чистого кода. Многие настройки по умолчанию уже стимулируют вас писать как надо.

Но она всё ещё не идеальна. Когда я устанавливаю новую копию IDEA, я пробегаю по настройкам и выставляю свои любимые галочки. Хочу ими с вами поделиться в надежде, что когда-нибудь и они станут стандартом.

Чистый код — это

  • Минимум комментариев. Код должен быть читаем сам по себе.
  • Небольшие функции. Длинные функции должны быть разбиты на несколько маленьких с говорящими именами.
  • Частые коммиты. Каждый коммит должен быть атомарным и делать одно изменение, а не кучу разных.
  • Тесты. Не просто наличие тестов, а предельное внимание к ним.

Давайте посмотрим, что нужно настроить в IDEA, чтобы она способствовала написанию чистого кода.

Мои любимые галочки

Стандартные заголовки

Первым делом я всегда удаляю самый большой буллщит в Intellij IDEA — стандартный заголовок файлов:

Вся информация об авторах и датах должна храниться в специально отведённом для этого месте — системе контроля версий. Я не хочу захламлять этим код!

Аналогичным образом удаляю стандартные заголовки для некоторых языков:

Неисключительные исключения

Примерно в том же меню я удаляю надоедливые «throws Exception» в шаблонах для JUnit:

Они не нужны в большинстве случаев и только загрязняют код.

Чем меньше кода, не несущего полезной логики — тем лучше!

А там, где они понадобятся, IDEA добавит их на раз.

Автоматический импорт

Дальше я ставлю галочку «auto import». Когда я пишу в коде новое имя класса, пусть IDEA сама его моментально импортирует. Почему я должен беспокоится о том, что компьютер может сделать за меня? Лучше я не буду отвлекаться от действительно важных мыслей.

Это аццки удобная фича, попробуйте!

Работа с вкладками

Show usages

Далее я обязательно назначаю комбинацию клавиш Ctrl+F7 на действие «Show usages». Это очень удобное действие, я его использую, наверное, чаще всех остальных! По умолчанию у него какая-то другая комбинация клавиш, не такая удобная. А Ctrl+F7 по умолчанию делает что-то другое, не такое полезное.

А действие «Show Usages» показывает все места, где используется данная переменная/метод, прямо тут же, в маленьком всплывающем окошке. Это чертовски удобно, не нужно переключать внимание и переносить взгляд в другое место! По нему можно удобно бегать вверх-вниз стрелками и закрывать простым ESC. Навигация на кончиках пальцев!

Вот как выглядит Show Usages в действии:

ВерблюжьиГорбы

  • IDEA выделяла всё слово целиков, когда я дважды кликаю на него мышкой, и
  • IDEA бегала между большими буквами, когда я хожу по слову влево-вправо стрелками с нажатым Ctrl.

То есть если курсор стоит в начале слова AbstractStudentFactory, и я нажимаю Ctrl+вправо, я хочу, чтобы курсор скакнул к началу подслова «Student», а не сразу в конец. В IDEA по умолчанию ровно наоборот.

Первый пункт регулируется в Settings -> Editor (самая первая галочка):

А второй там же, в подменю «Smart keys»:

Автосохранение файлов

Многие знают (или догадываются), что IDEA автоматически сохраняет файлы, когда ты переключаешься в другую программу. Или когда запускаешь тесты. Это здорово. Не нужно постоянно нажимать Ctrl+S.

Но ещё было бы полезно, если б IDEA сохраняла файлы и просто так, когда я иду за чаем. Поэтому ставлю галочку «Save files automatically»:

И благодаря этому могу смело поставить ещё одну галочку, чтобы IDEA не спрашивала меня «Are you sure you want to exit IDEA»?

Меня не надо об этом переспрашивать. Я не боюсь закрыть IDEA в любой момент, потому что всегда могу открыть её снова, и там будут все мои файлы в целости и сохранности.

Inspections

Автоматические проверки кода — в наше время обязательное умение для IDE. В IDEA их много, полезных и не очень, не буду тут все рассматривать. Но одну я ставлю обязательно, причём строго с приоритетом «Error»: это «Missing @ Override annotation».

Строго говоря, это не имеет отношения к чистому коду. Просто я однажды провёл несколько вечеров в поиске зловредной неповторяемой баги, которая случалась потому, что кто-то случайно написал в подклассе метод с таким же именем, как в суперклассе (а именно, метод setUp в тесте). С тех пор я ревностно ставлю проверку на отсутствующую аннотацию @ Override.

Частые коммиты

Одна из хороших практик правильного программирования — это частые небольшие коммиты. Каждый коммит должен быть атомарным и делать одно изменение, а не сразу кучу разных.

Когда я следую этим правилам и коммичу 3 файла из 8 (остальные 5 я собираюсь тут же послать следующим коммитом), IDEA предлагает перенести остальные 5 файлов в другой «changeset». Возможно, это когда-то могло показаться удачной идеей, но в большинстве случаев я всё-таки собираюсь вскоре закоммитить и остальные 5 файлов тоже. Поэтому отключаем эту галочку:

Далее, когда я сделал несколько маленьких коммитов и хочу это дело запушить (git push), я сталкиваюсь с проблемой, что в IDEA нет комбинации клавиш для Push, а искать эту команду в меню реально неудобно. Делаем свой шорткат Ctrl+Shift+K:

Это удобно запомнить: Ctrl+K — коммит, Ctrl+Shift+K — пуш.

Учите, учите и ещё раз учите шорткаты!

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

Но один плагин я ставлю обязательно. Это Key Promoter plugin — надоедливый подсказчик, заставляющий меня учить шорткаты. Каждый раз, когда я выбираю какое-то действие мышкой, он тут же говорит мне: «А ты таки мог это сделать такой-то комбинацией клавиш!» Он такой надоедливый, что ты волей-неволей начинаешь использовать эти шорткаты, лишь бы не видеть его лишний раз.

Обратная связь

И наконец, последняя галочка. Я хочу, чтобы IDEA анализировала мою работу с ней и ежедневно посылала собранную информацию в JetBrains. Это мой вклад в развитие отличного продукта Intellij IDEA.

Дорогие ребята из JetBrains, если это вам поможет сделать IDEA ещё лучше — следите за мной, анализируйте меня, берите всё что потребуется!

📎📎📎📎📎📎📎📎📎📎