2009-09-23 4 views

ответ

19

Мы используем первый случай.

Аннотации не подходят для одной линии в некоторых случаях.

  • Что происходит с этими аннотациями, мы добавляем в наш проект ответственность за ответственность. Аннотации для действительно разных проблем в одной строке становятся беспорядочными.
  • Кроме того, некоторые аннотации могут стать действительно большими и быть многострочными в отдельности (я думаю, что переопределение переопределения Hibernate в подклассе).
+1

I второй это. Также я бы рекомендовал применять аннотации в некотором фиксированном порядке, например.в алфавитном порядке. – yawn

+0

Что вы будете делать, если у вас есть 10 параметров аннотации, и они прокручиваются вправо от вашей предпочтительной длины линии. Можете ли вы многостроить их, как вы можете, с помощью аргументов метода ИЛИ нет? Я думаю, что посетители этого вопроса задаются вопросом. – djangofan

1

Ну, мы даже не можем согласиться, где Погружает {:-(

Я предпочитаю первое, тем более, что может быть более чем один аннотаций.

Примеры I» м знакомы с использованием этого стиля.

2

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

@MyAnnotation(name = "This is the name", version = "1.0") 
public void foo() { 
    // ... 
} 
+0

Можно ли поместить параметры аннотации на несколько строк, как вы можете сделать с помощью методов args? Или это нарушит аннотацию? – djangofan

+0

Да, вы можете поместить параметры аннотации на несколько строк (попробуйте). – Jesper

2

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

Например, если ваш класс имеет большую кучу коротких методов, иногда желательно, чтобы сконденсировать их на одну линии, чтобы уменьшить шумовой код:

@MyAnnotation public int foo1(){ return 1; } 
@MyAnnotation public int foo2(){ return 2; } 
@MyAnnotation public int foo3(){ return 3; } 
etc etc 

Как мудрым, если у вас есть более существенный метод с сложная аннотация, расширенная форма более желательна.

1

Обычно я использовал бы первый случай.

Однако один конкретный экземпляр, в который я помещал аннотацию в той же строке, содержит аннотацию @Test в JUnit. Это довольно коротко, обычно не принимает никаких параметров и, прежде всего, обычно появляется в контексте, когда человеческий читатель подсознательно ожидает, что он будет там в любом случае. Когда вы комментируете нулевые методы public void в тестовом классе, я бы утверждал, что лишняя краткость перескакивания аннотации в одну и ту же строку лучше (т. Е. Меньше отвлечения внимания, можно увидеть больше кода на экране), чем положить ее на отдельная строка,

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

Смежные вопросы