2008-10-17 18 views
6

Algunos amigos y colegas tienen un pequeño concurso para encontrar o escribir los nombres más largos de clase/variable/propiedad/método posibles. Tenga en cuenta que tratamos de ser buenos niños y niñas y mantener el nombre inteligible y conciso, sin dejar de explicar lo que hace la cosa a través de su nombre.Nombres de clase/variable/propiedad/método muy largos

A veces simplemente no sucede. ¿Has corrido a esto? Me gustaría ver lo que hay por ahí. (Tal vez mis amigos y yo no estamos tan loco como creemos)

Nota: No estoy buscando malo naming. Eso ya es here. Estoy buscando bueno nombrando que acaba de llegar un poco largo.

+1

Oracle no permite que nadie juegue este juego. 32 caracteres máximo todavía, ¡y estamos viviendo en 2008! –

+3

un nombre enorme es probablemente un nombre incorrecto, por el simple hecho de que si necesita un nombre enorme para describir lo que hace, es probable que esté haciendo demasiado;) – workmad3

+0

@ workmad3 ¡Demasiado cierto! No poder nombrar una función correctamente suele ser el síntoma de otro problema, ¡hace demasiado! –

Respuesta

16

Esta no es una clase nombre pero una enumeración, pero es mucho más larga:

VirtualMachineDeviceRuntimeInfoVirtualEthernetCardRuntimeStateVmDirectPathGen2InactiveReasonOther 

de la API de VMware vSphere. Busque Google y encontrará la documentación en línea.

+0

Definitivamente el nuevo ganador. –

1

Consulte la documentación de Apple. Son reyes en eso. Muy descriptivo, pero a veces millas de largo. Un par de ejemplos de la clase NSString:

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

Mi favorito en el mundo de Microsoft: SetProcessWorkingSetSize

8

me resulta agradable tener nombres de ensayo largos que describen la prueba. Por ejemplo:

testMapWithOneEntryAllowsDifferentEntryPreservingFirst 
testMapWithOneEntryAllowsDuplicateEntryOverwritingFirst 

(Estos son sólo ejemplos de la parte superior de mi cabeza ... se entiende la idea sin embargo.)

1

En la aplicación de correo de manzana:

_synchronouslyTellServicesToRegisterAndSync() 

En una aplicación escribí:

User.CanViewRestrictedItems() 

que una aplicación a un colega escribió:

Profile.DisplayMyDraftOrPendingProfile() 
Profile.DisplayMyApprovedProfile() 

Solo para comenzar.

nueva:

Una clave nombre de la restricción externa:

constraint ReportCompanyReportTemplateIDVersionID_ReportTemplateVersionReportTemplateIDVersionIDFk foreign key (ReportTemplateID, VersionID) references customer_ReportTemplateVersion (ReportTemplateID, VersionID) 
3
protected virtual OcrBarcodeSymbologies GetSupportedBarcodeSymbologies() { } 
2

Las excelentes GTK+ "sufre" de la biblioteca de esta. Tiene funciones muy prolijamente nombradas, pero como la API principal es C y GTK + está muy orientada a objetos, debe codificar los nombres de clase en el nombre de las funciones. El constructor para la clase X es X_new(), y así sucesivamente. Esto lleva a beaties como gtk_recent_chooser_widget_new_for_manager().

Estoy seguro de que hay nombres de funciones aún más largos, este fue uno que encontré rápidamente. :)

12

No es muy largo, pero mi nombre de variable favorito siempre fue indicar que un usuario había optado por recibir el correo electrónico.

User.IsSpammable hace

+1

Si no está demasiado obsesionado con los booleanos que comienzan con "es", podría hacer User.canSpam – Bemmu

4

Algunas veces, he tenido un problema con Hibernate. ¡Obtuve una NullPointerException en el método llamado findIntendedAliasedFromElementBasedOnCrazyJPARequirements!

2

Los nombres largos de variables no me molestan siempre y cuando no haya un nombre obvio más conciso y la nomenclatura sea correcta. Por ejemplo, en kamaelia, hay un tipo de clase denominado esto:

threadedadaptivecommscomponent 
1

una convención de nombres que he visto, años antes de fluidez se convirtió en boga

public DataSet SelectAllUsersWhereDobIsGreaterThan1980AndIsMaleOrderByNameAndAge() 
7
org.aspectj.weaver.patterns; 

public class HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor { 
    boolean ohYesItHas = false; 

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

    ... more methods... 
} 
+4

Dijo que no estaba buscando un código incorrecto. –

1
bool instrumentAreaDockWidgetVisibilityFollowsChildPresence; 
0

obtenga js elementos que se recuperarán y si la página debe mostrar recomendaciones.

Cuestiones relacionadas