Статьи

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

В последнее время мне были поручены некоторые задачи проверки кода / исправления качества кода в крупном корпоративном Java-проекте, и я пытаюсь помочь существующей группе разработчиков программного обеспечения, ожидая возобновления моих старых обязанностей в другом проекте.

Это весело, но в то же время достаточно опасно, поскольку вы не хотите нарушать что-либо важное или разрушать работу своих коллег, когда они стремятся к досрочному освобождению. Не зная основополагающего бизнеса, вам приходится многократно просматривать даже самые малые изменения, которые вы собираетесь сделать.
Иногда стиль кодирования и то, как мы структурируем наш код, оказывается очень важным для людей, которые приходят в проект позже, чтобы возобновить нашу работу или выполнять работы по обслуживанию (как я сейчас делаю с базой кода, которую я не делаю). действительно мастер).
Совет 1: Напишите код, думая, что следующий парень / девушка возьмет на себя вашу работу.
Я большой сторонник вышеупомянутой идеи. Иногда мы спешим взламывать фрагменты кода, которые в то время выглядели умными или великолепными, но через пару недель даже мы не можем понять, как и почему мы так поступили. Постарайтесь быть проще, добавьте встроенные комментарии, если вы чувствуете, что мне действительно нравится читать комментарии в коде, объясняющие, почему часть кода была разработана таким образом, а не другим способом. Эти небольшие подсказки помогут вам сэкономить время (в будущем), вам придется пересмотреть, исправить или изменить эту часть.
Совет 2: Eclipse: предотвращение автоматического форматирования в определенных фрагментах кода.
Есть случаи, когда вам приходится писать фрагменты кода, которые выглядят немного сложнее, или вы хотите сохранить некоторые строки вместо того, чтобы ломать логику, особенно в некоторых тривиальных частях. Я придумал пару длинных методов hashCode () и equals (), которые не были удивительно сложными, но в то же время неочевидными. Чтобы полностью понять, почему некоторые части проверок, выполненных этими методами, были там, мне пришлось вручную отформатировать код в форме, где логика в ifs и различные логические операторы были очевидны. В других случаях такие инструменты, как FindBugs или CheckStyle, будут предупреждать вас об определенных решениях по разработке внутри таких методов, которые в большинстве случаев будут недействительными.
Eclipse дает вам возможность частично отключить его форматер, добавив специальный тег в ваш код. Все, что вам нужно сделать, это просмотреть разделы ниже, под вашими предпочтениями Eclipse.
Предпочтения – Java – Стиль кода – Форматировщик – Активный профиль ( вам нужно иметь свой собственный – не можете изменить встроенное затмение ) – Включить Edit-Tab (вкладки On / Off).


Хорошо настроить собственный профиль форматера (для каждого проекта это даже лучше или для компании). Вы можете наследовать базовый профиль Eclipse (встроенный) и создавать свой собственный. Когда у вас включена вышеуказанная опция, вы можете исключить код, который вам не нужен или ваш коллега – автоматически отформатированный снова, так что его становится трудно читать (иначе уродливо).
1
2
3
4
5
6
7
//@formatter:off
    if(aFlag){
    //do this
    }else if(anotherFlag){
     //do that etc
     }
   //@formatter:on
Осторожно: убедитесь, что все члены команды используют одни и те же параметры, в противном случае после фиксации другой участник с конфигурацией по умолчанию превратит ваше пользовательское форматирование в предыдущее состояние.

Совет 3: Затмение, вставьте фигурные скобки в операторах if, циклы, equals () и т. Д

Это длительная битва, есть разработчики, которым не нравятся фигурные скобки, некоторые другие (такие как я), которые думают, что они улучшают читабельность, и некоторые другие, которые вообще не против. Я действительно ненавижу отсутствующие фигурные скобки (мои личные предпочтения), и я обычно добавляю их даже в виде простых однострочных операторов. Вы можете ознакомиться с официальными соглашениями Java Code здесь .

1
2
3
4
5
6
7
8
//@formatter:off
    //I don't like this style
    if(aFlag)
       System.out.println("Do something");
    //I like this style
    if(anotherFlag){
      System.out.println("Do something better");
    }

Eclipse может помочь вам исправить этот плохой стиль кодирования в автоматически сгенерированном стиле или в форматировании. В разделе «Настройки Java» в Eclipse есть раздел «Очистка», который применяет «блоки» в связанных структурах кода.

Предпочтения – Java – Стиль кода – Очистить – Активный профиль ( вам нужно иметь свой собственный – не можете изменить встроенное затмение ) – Edit-Tab (Стиль кода – использовать блоки в операторах if / while / for / do. У меня есть настройка « Всегда » отмечена.

Осторожно (снова): убедитесь, что все члены команды имеют одинаковые параметры.
Один из моих коллег указывает на особый случай, связанный с созданным Eclipse IDE методом equals (). В более старых версиях eclipse существовала какая-то ошибка стиля, но она была исправлена ​​начиная с версии 3.5 и далее.
Когда вы выбираете из Source -> Generate, имеет hashCode () и equals ()

Убедитесь, что вы выбрали « Использовать блоки в заявлениях» . Таким образом вы сохраните некоторые предупреждения о качестве кода с помощью соответствующих инструментов.
На этом пока все, большое спасибо за заботы, советы и вопросы Джорджу К и Андреасу .

Справка: Советы по форматированию кода Eclipse от нашего партнера JCG Париса Апостолопулоса в журнале Папо .