JavaRush /Java блог /Random /Кофе-брейк #86. Краткое и простое руководство по переформ...

Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA

Статья из группы Random
Источник: Lightrun Как разработчику, вам придется вносить изменения в кодовую базу. И если кодовая база четко не отформатирована, то отладка для вас заметно усложнится. Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA - 1Небольшие изменения, такие как переформатирование и правильные отступы в коде, обычно упускаются из виду, но они, очевидно, помогают отличить кодовую базу профессионального разработчика от кода новичка. Сохранение правильного формата кода и отступов поможет написать код, который легче читать. Это упрощает совместную работу над проектами, увеличивает скорость отладки и обслуживания кодовой базы. Код приобретает хорошую читабельность и структуру. Можно ли ускорить процесс переформатирования кода? Эта статья познакомит вас с простым методом автоматического переформатирования кода с помощью IntelliJ IDEA. Вы узнаете, как сократить время на эту процедуру, а также научитесь исключать часть кодовой базы из переформатирования, используя различные сочетания клавиш.

Преимущества переформатирования

Важно помнить, что для работы функции не требуется код форматирования и комментирования. Любой код, с форматированием или без него, полностью может быть прочитан и выполнен компилятором. С другой стороны, переформатирование значительно упрощает для людей чтение разметки. Для компилятора важно только то, что код работает и то, что не содержит ошибок, а не то, насколько он хорош или с красивым отступом. Правда, людей беспокоит как раз последнее, потому что им приходится читать такой код. Как и в случае с обычным текстом, никто не любит читать бесформенный контент без заголовков, абзацев или каких-либо отступов. Некоторые из необходимых методов переформатирования включают:
  • Отступ.
  • Стиль и написание функций.
  • Пустое пространство.
  • Использование заглавных букв и наименований.
Отладка — неизбежное зло, с которым разработчик будет часто сталкиваться на протяжении своей карьеры. С чего же начать, если ваша кодовая база захламлена и дезорганизована? Когда исходный код правильно отформатирован и имеет отступ, он выглядит менее кластеризованным. Это упрощает определение того, где находятся различные модули приложения. Следовательно, упрощается поиск проблем и ошибок. Переформатирование кода в IntelliJ IDEA основано на требованиях, указанных в настройках стиля кода в IDE. Хотя, когда вы используете EditorConfig в своем проекте, то настройки, которые вы указали в файле .editorconfig, по умолчанию переопределяют те, которые указаны в настройках стиля кода. Переформатирование в IntelliJ не отличается от работы в других IDE. Существуют варианты переформатирования как отдельного блока кода, так и всего файла. Могут быть случаи, когда весь ваш блок кода довольно длинный, и вы хотите, чтобы все было переформатировано, за исключением нескольких конкретных областей. В этом случае индивидуальный выбор частей кода, которые вы хотите отформатировать, точно не лучший вариант. В таких ситуациях переформатирование с помощью IntelliJ определенно пригодится. Мы изучим этот и другие варианты использования IDE.

Советы по форматированию кода

Давайте рассмотрим несколько основных советов по форматированию кода в целом:
  • Убедитесь, что ваш код правильно прокомментирован. Используйте комментарии, чтобы передать намерение и смысл. Даже если вы единственный, кто читает этот код, это все равно полезно себе напоминать предназначение тех или иных блоков кода. Это облегчит работу, если вы вернетесь к своей кодовой базе, например, после отпуска.

  • Не используйте табуляции для пробелов в одной строке. Это снижает читабельность кода.

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

  • Не используйте переформатирование кода как быстрое исправление синтаксических ошибок.

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

Переформатирование кода в IntelliJ IDEA

Прежде чем мы исследуем различные способы форматирования кода в IntelliJ, начните с создания образца проекта Java в вашей среде IDE. После запуска IntelliJ вы должны увидеть такой экран: Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA - 2Нажмите Далее и завершите настройку инициализации проекта. Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA - 3Теперь, когда ваш проект настроен, пришло время добавить образец кода, который поможет вам понять переформатирование кода в IntelliJ. Это простой счетчик слов от Техасского университета:

import java.io.File;
import java.io.IOException;
import java.util.Map;
import java.util.Scanner;
import java.util.TreeMap;

public class SimpleWordCounter {
    
    public static void main(String[] args) {
        try {
            File f = new File("ciaFactBook2008.txt");
            Scanner sc;
            sc = new Scanner(f);
            // sc.useDelimiter("[^a-zA-Z']+");
            Map<String, Integer> wordCount = new TreeMap<String, Integer>();
            while(sc.hasNext()) {
                String word = sc.next();
                if(!wordCount.containsKey(word))
                    wordCount.put(word, 1);
                else
                    wordCount.put(word, wordCount.get(word) + 1);
            }
            
            // show results
            for(String word : wordCount.keySet())
                System.out.println(word + " " + wordCount.get(word));
            System.out.println(wordCount.size());
        }
        catch(IOException e) {
            System.out.println("Unable to read from file.");
        }
    }
}

Переформатирование фрагментов кода

Начнем с форматирования фрагментов кода. Для этого просто выделите часть кода, которую вы хотите отформатировать, и нажмите Code > Reformat Code. Как вы можете видеть, выделенная часть вашего кода (в данном случае строки 11–17) отформатирована правильно. Давайте посмотрим на “до” и “после” переформатирования нашего фрагмента кода. Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA - 4Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA - 5Если вы заметили на первом изображении, объявление и инициализация вашей переменной произошли в той же строке, что и try. Закрывающие фигурные скобки смешаны с блоком else. Но после выделения этой части вашего кода и использования опции переформатирования у вас получится более приятный для глаз блок кода. Теперь полный код вашего класса выглядит примерно так: Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA - 6Обратите внимание, что переформатирован был только выбранный вами блок кода.

Переформатирование целых файлов

Чтобы переформатировать весь файл, откройте редактор, поместите курсор в любое место и нажмите Code >Reformat File. Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA - 7Вам будет предложено выбрать соответствующие параметры переформатирования для всего файла. Это действие переформатирует весь ваш код в активном редакторе. Ваш код станет примерно таким: Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA - 8

Переформатирование модуля или каталога

Для этого все, что вам нужно сделать, это щелкнуть правой кнопкой мыши модуль в окне инструментов проекта и выбрать Reformat Code. Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA - 9Во всплывающем окне выберите любой из трех необходимых вам вариантов:
  • Оптимизировать импорт: выберите этот вариант, если вы хотите добавить отсутствующие операторы импорта, а также избавиться от неиспользуемых операций импорта.

  • Переупорядочить записи: для реорганизации кода в соответствии с правилами расположения, указанными в настройках стиля кода.

  • Код очистки: для запуска очистки кода.

Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA - 10Когда закончите, просто нажмите ОК.

Исключение кода из переформатирования

Давайте рассмотрим, что делать, если у вас есть блок кода, который вы не хотите включать при форматировании всего файла. Перейдите в File > Settings или воспользуйтесь сочетанием клавиш Ctrl + Alt + S. Перейдите в Editor > Code Style и установите флажок Enable formatter markers (Включить маркеры форматирования) в меню комментариев на вкладке Formatter Control (Управление форматированием). В своем редакторе создайте строчный комментарий и введите //@formatter:off без кавычек в начале области, которую вы хотите исключить. В конце области создайте еще один строчный комментарий и введите //@formatter:on также без кавычек. Кофе-брейк #86. Краткое и простое руководство по переформатированию кода в IntelliJ IDEA - 11На изображении выше вы можете увидеть, что средство форматирования проигнорирует ваш код в строке 23 просто потому, что вы указали это в комментариях и контроллере форматирования.

Примеры горячих клавиш для переформатирования

  • Переформатировать блок кода: Ctrl + Alt + Shift + L
  • Переформатировать файл: Ctrl + Alt + L
  • Добавить комментарий к строке: Ctrl + /
  • Добавить комментарий блока: Ctrl + Shift + /

Заключение

Уделять внимание форматам кода так же важно для разработчика, как и заставить его работать. Вы никогда не можете сказать, кто в конечном итоге будет работать с вашим кодом. Наличие легко читаемой, хорошо структурированной кодовой базы говорит о профессиональном разработчике. Благодаря IntelliJ IDEA форматирование кода не должно быть таким сложным, как написание самого кода. В следующий раз, когда будете писать код с использованием IntelliJ, воспользуйтесь этими советами. Так вы упростите себе жизнь во время отладки кода.
Комментарии
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ