Подтвердить что ты не робот

Должен ли я использовать статический импорт?

Насколько важно преобразовать весь мой импорт в static import? Почему люди все еще неохотно используют static import?

4b9b3361

Ответ 1

Как говорят документы, используйте экономно. Посмотрите там, где есть обоснования.

Ответ 2

Это особый случай, но также идеальный вариант использования (и я использую его во всех моих тестах):

import static junit.framework.Assert.*;

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

Ответ 3

Я использую статический импорт при работе с JUnit assert (import static org.junit.Assert.*;), а также когда у меня есть enum, который очень привязан к рассматриваемому классу.

Например:

Файл Enum:

public enum MyEnum {
   A, B, C;
}

Файл класса:

import static MyEnum.*;

public class MyClass {
  MyEnum e;

  public setE(MyEnum newE) {
    if ( newE == A ) {
       // some verification
    }
    e = newE;
  }
}

Обратите внимание, как я смог сделать newE == A вместо newE == MyEnum.A. Пригодится, если вы делаете много всего на протяжении всего кода.

Ответ 4

Я использую static import только в наиболее очевидных ситуациях. Помните: сжатый код не всегда совпадает с читаемым кодом.

Ответ 5

Я бы сказал, никогда не используйте статические импортные шаблоны.

Без подстановочных знаков, по мере необходимости, я думаю, что это уменьшает беспорядок.

Ответ 6

Использование static import предпочтительнее, если вы используете среду IDE.

Ответ 7

Совсем не важно преобразовать существующий рабочий код, на самом деле это просто лишняя стоимость и риск.

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