Классы Java обычно делятся на логические "блоки". Существует ли конвенция отметить эти разделы? Идеально, это поддерживалось бы главными IDE.
Я лично использую этот метод:
//// Section name here ////
Однако у некоторых редакторов, кажется, есть проблемы с этим.
Как пример, в коде Objective C можно использовать этот метод:
#pragma mark -
#pragma mark Section name here
Это приведет к меню в XCode, который похож на это:
Я лично использую разделители строк из 80 символов, например:
public class Client {
//================================================================================
// Properties
//================================================================================
private String name;
private boolean checked;
//================================================================================
// Constructors
//================================================================================
public Client() {
}
public Client(String name, boolean checked) {
this.name = name;
this.checked = checked;
}
//================================================================================
// Accessors
//================================================================================
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public boolean isChecked() {
return checked;
}
public void setChecked(boolean checked) {
this.checked = checked;
}
}
Конечно, это может показаться излишним для такого маленького POJO, но поверьте Для меня это оказалось очень полезным в некоторых огромных проектах, где мне приходилось просматривать большие исходные файлы и быстро находить интересующие меня методы. Это также помогает понять структуру исходного кода.
В Eclipse я создал набор настраиваемых шаблонов (Java -> Editor -> Templates в диалоговом окне Eclipse Preferences), которые генерируют эти полосы, например - sepa (SEParator for Accessors) {{1} } - sepp (SEParator for Properties) - sepc (SEParator for Constructors) - etc.
Я также изменил стандартный шаблон «нового класса» (Java -> Стиль кода -> Код Шаблоны на экране настроек Eclipse)
Также существует старый плагин Eclipse под названием Coffee-bytes , который улучшил способ сворачивания частей кода в Eclipse. Я не знаю, есть ли это. все еще работает, но я вспомнил, что можно определить произвольные складываемые зоны, добавив специальные комментарии, например // [SECTION] или что-то в этом роде. Это может по-прежнему работать в последних ревизиях Eclipse, так что взгляните.
Eclipse определяет аннотацию javadoc @category (прокрутите до раздела с пометкой «Поддержка категорий»), которая позволяет фильтровать по категориям в обзоре структуры . Не совсем то, что вам нужно. Я удивлен, что никто не написал плагин Eclipse, который предлагает вид, подобный вашему снимку экрана.
Мне это тоже нравилось, когда я использовал xcode. В eclipse я использую ctrl+o (быстрый контур) для навигации по Java-классу.
Использование ненужных комментариев/маркеров в коде для облегчения работы может быть не очень хорошей практикой. У меня мало представления о xcode и разработке java, но все основные IDE поддерживают поиск членов без специальных маркеров, например, eclipse показывает методы и члены с помощью представления контура, которое можно вызвать с помощью ctrl+O
, Intellij (который я предпочитаю использовать больше на mac, и у него также есть community edition) имеет ту же концепцию контура и может быть быстро вызван с помощью (ctrl + f12). Поэтому я хочу сказать, что не используйте ненужную разметку в коде, так как все (или, по крайней мере, хорошие/разумные) IDE могут делать это автоматически.
Насколько я знаю, поддерживаемых спецификация для группирования членов класса вместе. Вы можете использовать любое соглашение о комментариях, которое вам нравится, но есть вероятность, что оно не будет поддерживаться никаким инструментом.
Лучше сгруппировать связанные члены в отдельный класс посредством наследования или агрегирования. Это считается хорошим стилем ООП
Современная среда IDE позволяет вам просматривать ваш код разными способами и даже реорганизовывать его. Eclipse даже позволяет просматривать определение кода, на котором установлен курсор, на другой панели.
Любая автоматическая реорганизация вашего кода приведет к нарушению такой разметки.
Если вы хотите группировать, подумайте о том, чтобы объединить вещи, принадлежащие к одному классу, а вещи, не принадлежащие вместе, в разные классы.