Во-первых, вам редко следует вводить имя класса. У вас может быть что-то вроде этого:
import DamnLongPackageNameThatIDontLikeTyping;
class MyCoolClass()
{
DamnLongClassNameThatIDontLikeTyping dlc=new DamnLongClassNameThatIDontLikeTyping();
dlc.this();
dlc.that();
dlc.tOther();
dlc.damnLongAnnoyingMethodNameStillHasToBeTypedEveryTime();
}
Ладно, это не очень хорошо, но вам не следует вводить полное имя класса очень часто, только когда вы впервые его объявляете; и импорт пакета делает это так, что вам не нужно каждый раз печатать: DamnLongPackageNameThatIDontLikeTyping.DamnLongClassNameThatIDontLikeTyping
.
Тем не менее, это может быть неприятно печатать. Войдите в редактор. Если вы не используете Eclipse, Netbeans или IntelliJ, то вам действительно нужно прекратить чтение прямо сейчас и начать его установку - загрузите ваш проект. Я подожду ....
Серьезно. Иди возьми это. Остальное без этого не будет весело.
Итак, по-настоящему изящная вещь в том, что чтобы получить то, что я напечатал выше, вы просто делаете это:
class MyCoolClass()
{
DLC<ctrl-space>
После этого ваш файл будет выглядеть так:
import DamnLongPackageNameThatIDontLikeTyping;
class MyCoolClass()
{
DamnLongClassNameThatIDontLikeTyping<your cursor here>
Обратите внимание, что вы НИЧЕГО не печатали, просто DLC. Он выяснил, какой класс вы хотите импортировать, добавил импорт для него и вставил туда класс. (Возможно, вам придется выбрать из списка классов, если существует более одного совпадения).
Кроме того, после создания экземпляра объекта с именем dlc вы можете ввести:
dlc.<ctrl-space>
и получите список методов в этом классе. НИКОГДА СНОВА ТИП НАИМЕНОВАНИЕ МЕТОДА. Если в вашем классе есть методы kagillion, не прокручивайте их, введите: dlc.dLAM<ctrl-space>
, чтобы получить dlc.damnLongAnnoyingMethodNameStillHasToBeTypedEveryTime();
Никогда больше не вводите длинное имя метода.
Нет длинных имен методов, длинных имен классов, длинных имен пакетов. Тем не менее, вы получаете чрезвычайно удобочитаемые методы, пакеты и классы. Вот почему Java-программисты склонны использовать эти длинные имена, мы также стараемся помнить, что мы кодируем следующего парня и не хотим, чтобы ему приходилось бегать по всему нашему коду, пытаясь выяснить, что:
g.m();
относится - заставляя их помнить, что в этом классе это означает GreatClass.motion
, но в следующем классе это означает Grey.modifyColor
- это было бы действительно жестоко.
Статическая типизация Java добавляет в редактор МНОЖЕСТВО. Он может делать то, о чем вы даже не мечтаете делать с динамически типизированными языками, и вы должны стараться изо всех сил быть эффективным программистом - не пытайтесь вписать каждый язык в какой-то стиль, который вы выучили, используя другой язык .
Обратите внимание, что это работает и для статических методов ...
DLC<ctrl-space>.dLM<ctrl-space>
будет заменен вызовом DamnLongClass.damnLongMethod()
, и он даже будет включать в себя парены для вас в 9 нажатий клавиш.