Например, вместо import com.smartgwt.client.widgets.layout.VLayout; import com.smartgwt.client.widgets.layout.HLayout; можно писать import com.smartgwt.client.widgets.layout.*; и все работает. Хорошо ли это (использовать '*') ? Возникает ли дополнительная нагрузка на компилятор (на глаз не ощущается), объем подключаемого кода (не исследовал) и т.п. ?
Ответ
Интересной и неприятной стороной импорта всех классов из пакета может стать ситуация, когда в пакет добавляются классы:
package a;
import b.*; // тут есть класс B
import c.*; // тут есть класс С
public class A {
public A() {
new B();
new C();
}
}
Фокус произойдет, если в пакет b добавится вдруг класс С - наш класс перестанет компилироваться. Обновили какую-нибудь библиотеку и бац - ни с того, ни с сего. Еще бывает ситуации, когда неясно, из какого именно пакета импортирован класс.
Минусом поименного импорта является большое "полотно" собственно импортов - но оно практически всегда скрыто ("collapsed") в редакторе.
Cам я, честно говоря, этим никогда не заморачивался - Eclipse импортирует поименно - и пусть себе импортирует. Мне кажется, минусы любого подхода сейчас хорошо компенсируются современными IDE.
Комментариев нет:
Отправить комментарий