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

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

18
задан JasonMArcher 15 July 2015 в 22:05
поделиться

7 ответов

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

15
ответ дан 30 November 2019 в 08:10
поделиться

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

0
ответ дан 30 November 2019 в 08:10
поделиться

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

1
ответ дан 30 November 2019 в 08:10
поделиться

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

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

1
ответ дан 30 November 2019 в 08:10
поделиться

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

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

0
ответ дан 30 November 2019 в 08:10
поделиться

Я использую статический импорт при работе с assert в JUnit (import static org.junit.Assert.*;), а также когда у меня есть 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
ответ дан 30 November 2019 в 08:10
поделиться

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

import static junit.framework.Assert.*;

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

8
ответ дан 30 November 2019 в 08:10
поделиться
Другие вопросы по тегам:

Похожие вопросы: