Domanda

Alcuni miei amici e colleghi hanno un piccolo concorso per trovare o scrivere i nomi di classe / variabile / proprietà / metodo più lunghi possibili. Tieni presente che cerchiamo di essere buoni ragazzi e ragazze e mantenere la denominazione intelligibile e concisa, pur spiegando cosa fa la cosa tramite il suo nome.

A volte però non succede. Ti sei imbattuto in questo? Vorrei solo vedere cosa c'è là fuori. (Forse io e i miei amici non siamo matti come pensiamo)

Nota: non cerco la cattiva denominazione. Questo è già qui . Sto cercando una buona denominazione che è appena diventata un po 'lunga.

È stato utile?

Soluzione

Questo non è un nome di classe ma un enum, ma è molto più lungo:

VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther

dall'API di VMware vSphere. Google per questo e troverai la documentazione online.

Altri suggerimenti

Non è molto lungo ma il mio nome di variabile preferito è mai stato per indicare che un utente aveva scelto di ricevere e-mail.

  

User.IsSpammable

Trovo bello avere nomi di test lunghi che descrivono il test. Ad esempio:

testMapWithOneEntryAllowsDifferentEntryPreservingFirst
testMapWithOneEntryAllowsDuplicateEntryOverwritingFirst

(Questi sono solo esempi dalla parte superiore della mia testa ... hai comunque l'idea.)

org.aspectj.weaver.patterns;

public class HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor {
    boolean ohYesItHas = false;

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

    ... more methods...
}

Alcune volte fa, ho avuto un problema con Hibernate. Ho ottenuto una NullPointerException nel metodo chiamato findIntendedAliasedFromElementBasedOnCrazyJPARequirements!

protected virtual OcrBarcodeSymbologies GetSupportedBarcodeSymbologies() { }

L'eccellente GTK + libreria " soffre " da questa. Ha funzioni con un nome molto preciso, ma poiché l'API principale è C e GTK + è molto orientata agli oggetti, deve codificare i nomi delle classi nel nome delle funzioni. Il costruttore per la classe X è X_new () e così via. Questo porta a benefici come gtk_recent_chooser_widget_new_for_manager () .

Sono sicuro che ci sono nomi di funzioni ancora più lunghi, questo è stato solo uno che ho trovato rapidamente. :)

I nomi di variabili lunghe non mi infastidiscono finché non c'è un nome più conciso e ovvio e la denominazione è sana. Ad esempio, in Kamaelia, c'è un tipo di classe chiamato questo:

threadedadaptivecommscomponent

Una convenzione di denominazione che ho visto, anni prima che i fluenti diventassero di moda

public DataSet SelectAllUsersWhereDobIsGreaterThan1980AndIsMaleOrderByNameAndAge()

Consulta la documentazione di Apple. Sono re a quello. Molto descrittivo, ma a volte miglia. Un paio di esempi dalla classe NSString:

NSString.completePathInfoString:caseSensitive:matchesToArray:filterType
NSString.stringByAddingPercentEscapesUsingEncoding

Il mio preferito nel mondo Microsoft: SetProcessWorkingSetSize

bool instrumentAreaDockWidgetVisibilityFollowsChildPresence;

Nell'app Apple Mail:

_synchronouslyTellServicesToRegisterAndSync()

In un'app ho scritto:

User.CanViewRestrictedItems()

Ho un'app che un collega ha scritto:

Profile.DisplayMyDraftOrPendingProfile()
Profile.DisplayMyApprovedProfile()

Solo per iniziare.

nuova:

Nome di un vincolo di chiave esterna:

constraint ReportCompanyReportTemplateIDVersionID_ReportTemplateVersionReportTemplateIDVersionIDFk foreign key (ReportTemplateID, VersionID) references customer_ReportTemplateVersion (ReportTemplateID, VersionID)

ottieni gli js che verranno recuperati e se la pagina dovrebbe mostrare consigli.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top