Действительно длинные имена классов / переменных / свойств / методов - PullRequest
6 голосов
/ 17 октября 2008

У некоторых моих друзей и коллег есть небольшой конкурс, чтобы найти или написать самые длинные имена классов / переменных / свойств / методов. Имейте в виду, мы стараемся быть хорошими парнями и девочками и делаем понятное и лаконичное наименование, все же объясняя, что делает эта вещь через свое имя.

Иногда этого просто не происходит. Вы сталкивались с этим? Я просто хотел бы увидеть, что там. (Может быть, мы с друзьями не такие сумасшедшие, как мы думаем)

Примечание: я не ищу плохое наименование. Это уже здесь . Я ищу хорошее наименование, которое стало немного длиннее.

Ответы [ 13 ]

16 голосов
/ 08 сентября 2010

Это не имя класса, а перечисление, но оно намного длиннее:

VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther

из API VMware vSphere. Google для этого, и вы найдете онлайн документацию.

12 голосов
/ 17 октября 2008

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

User.IsSpammable

8 голосов
/ 17 октября 2008

Я считаю, что хорошо иметь длинные имена тестов, которые описывают тест. Например:

testMapWithOneEntryAllowsDifferentEntryPreservingFirst
testMapWithOneEntryAllowsDuplicateEntryOverwritingFirst

(Это всего лишь примеры из моей головы ... хотя вы поняли идею.)

7 голосов
/ 29 января 2010
org.aspectj.weaver.patterns;

public class HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor {
    boolean ohYesItHas = false;

    public boolean wellHasItThen/*?*/() {
        return ohYesItHas;
    }

    ... more methods...
}
4 голосов
/ 17 октября 2008

Несколько раз назад у меня была проблема с Hibernate. Я получил исключение NullPointerException в методе с именем findIntendedAliasedFromElementBasedOnCrazyJPARequirements!

3 голосов
/ 17 октября 2008
protected virtual OcrBarcodeSymbologies GetSupportedBarcodeSymbologies() { }
2 голосов
/ 26 октября 2008

Длинные имена переменных меня не беспокоят, если нет более очевидного и краткого имени, а наименование нормальное Например, в Kamaelia есть тип класса с именем this:

threadedadaptivecommscomponent
2 голосов
/ 17 октября 2008

От этого "страдает" отличная библиотека GTK + . Он имеет очень аккуратно названные функции, но поскольку основным API является C, а GTK + очень объектно-ориентирован, он должен кодировать имена классов в имени функции. Конструктор для класса X - X_new () и так далее. Это приводит к соглашениям, таким как gtk_recent_chooser_widget_new_for_manager () .

Я уверен, что там есть даже более длинные имена функций, это было только то, что я нашел быстро. :)

1 голос
/ 29 марта 2012
bool instrumentAreaDockWidgetVisibilityFollowsChildPresence;
1 голос
/ 28 июля 2009

Соглашение об именах, которое я видел за много лет до того, как свободно стало модным

public DataSet SelectAllUsersWhereDobIsGreaterThan1980AndIsMaleOrderByNameAndAge()
...