2013-07-09 4 views
2

Например, создавая графический интерфейс в библиотеке Swing, вам часто приходится создавать несколько частей внутри JPanel.Есть ли причина, по которой я не должен окружать логические части кода Java в фигурных скобках?

например.

public CustomPanel extends JPanel { 

    public CustomPanel() { 
     super(); 

     // Build the slider. 
     { 
      ... 
     } 

     // Build the combo boxes. 
     { 
      ... 
     } 
    } 
} 

Кажется, следующие мои варианты:

  • Используйте {} путь я в настоящее время их использования (в основном для отступа подобного кода).
  • Создайте собственные методы для каждого компонента например. public JSlider createCustomSlider().
  • Создайте пользовательские классы для каждого настраиваемого компонента (это кажется немного переборщиком, если у меня есть несколько отдельных компонентов).

Есть ли недостаток, как я отступаю свой код с {}?

EDIT:

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

+2

методы немного более декларативные и могут быть повторно использованы. – nachokk

+0

Возможный дубликат [Эффективность Java «Инициализация двойных символов»?] (Http://stackoverflow.com/questions/924285/efficiency-of-java-double -brace-initialization) – alfasin

+0

@alfasin Нет, это о инициализации структур данных (редактирование: со значениями) при их объявлении. – sdasdadas

ответ

4

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

Даунсайт вашего метода - вы будете единственным, кто поймет, почему вы это сделали.

+0

Он сказал, что он также использует его, чтобы убедиться, что он не будет использовать «местные «параметры вне сферы действия! – alfasin

+1

@alfasin Из объема, где они в настоящее время используются. Существует тонна литературы, которая показывает, что ошибки увеличиваются по мере увеличения расстояния использования от объявления переменной. – sdasdadas

+0

@alfasin Я был под (ложным) впечатлением, что вы не считали мой комментарий в области видимости позитивным для использования фигурных скобок. – sdasdadas

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