Страницы

Поиск по вопросам

понедельник, 12 ноября 2018 г.

“Звездочки” в import - хорошо ли использовать ?

Например, вместо 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.

Комментариев нет:

Отправить комментарий