Только что получил комментарий, что мой статический импорт метода не был хорошей идеей. Статический импорт был методом из класса DA, который имеет в основном статические методы. Итак, в середине бизнес-логики у меня была активность da, которая, казалось, принадлежала текущему классу:
import static some.package.DA.*;
class BusinessObject {
void someMethod() {
....
save(this);
}
}
Рецензент не был заинтересован в том, чтобы я изменил код, и я не сделал, но я с ним вроде согласен. Одной из причин отказа от статического импорта была путаница в том, где был определен метод, он не был в текущем классе и не в каком-либо суперклассе, поэтому слишком долго нужно было определить его определение (система просмотра через веб не имеет кликабельности). такие ссылки, как IDE :-) Я не думаю, что это имеет значение, статический импорт все еще довольно новый, и скоро мы все привыкнем к их поиску.
Но другая причина, с которой я согласен, заключается в том, что неквалифицированный вызов метода, кажется, принадлежит текущему объекту и не должен перескакивать контекстами. Но если он действительно принадлежит, имеет смысл расширить этот суперкласс.
Итак, когда имеет смысл использовать статические методы импорта? Когда ты это сделал? Вам понравилось, как выглядят неквалифицированные звонки?
РЕДАКТИРОВАТЬ: популярное мнение, кажется, что методы статического импорта, если никто не собирается путать их как методы текущего класса. Например, методы из java.lang.Math и java.awt.Color. Но если abs и getAlpha не являются неоднозначными, я не понимаю, почему readEmployee. Как и во многих вариантах программирования, я думаю, что это тоже личное предпочтение.
Спасибо за ваш ответ, ребята, я закрываю вопрос.
import static
, особенностьstatic import