2009-10-22 16 views
8

Entiendo la razón de los nombres de las variables de camello, pero siempre me he preguntado por qué usarías un nombre de método en camel case. ¿Por qué es toString() y no ToString()? ¿Para qué sirve?camel case method methods

+4

Cuéntenos lo que usted entiende que es "el motivo de camello nombres variables", y entonces tal vez podamos decirle "la razón para camello un nombre de método" :) – AakashM

+1

Ambos son en realidad caja de camello, inferior o superior. Solo se trata de una convención para detectar rápidamente qué es lo que figura en el código y, por lo tanto, parece más familiar para otras personas que tienen que navegar por él. – RedGlyph

+0

Supuse que era porque se podía declarar el tipo con mayúsculas y crear una instancia con un nombre de variable en minúscula para evitar colisiones de nombres. Por cierto, no uso esta convención de nombres de cajas de camello, pero siempre tuve curiosidad por racional detrás de algo de eso. – Jeremy

Respuesta

5

Es solo una convención. Como todas las convenciones que solo sirven, en la mente de sus creadores, hacen que el código sea más fácil de leer y mantener.

+0

También .NET adoptó 'ToString()' como una convención, en lugar de 'toString()', al contrario que Java. – Joey

+0

Bien, pero ¿por qué reduciría el uso de la primera palabra del nombre de un método para que sea más fácil de leer? – Jeremy

+0

Algunos programadores crecieron en la carcasa de camello para todas sus variables, es decir, algo así que es una progresión natural para sus métodos. Al igual que algunas personas afirman que la notación húngara (http://en.wikipedia.org/wiki/Hungarian_notation) es extremadamente fácil de leer, mientras que otros no están de acuerdo. Es como el viejo debate sobre si las llaves se unen en la misma línea o la próxima línea :) – popester

2

Porque para ser coherente, debe escribir en mayúscula la primera letra de cada nombre de método, y luego tiene que presionar la tecla Mayús varias veces más en un día.

+0

Gracias gee por el drive-by anónimo downvote a mi observación perfectamente válida, aunque ligeramente sarcástica – kurosch

1

No creo que haya ninguna razón , estas son sólo convenciones y cada uno puede tener su propia.

1

Si desea una función

write(); 

que requiere menos esfuerzo (una pulsación de tecla SHIFT menos) que

Write(); 

Sin embargo, si usted está escribiendo en un archivo, es necesario distinguir el palabras. Por lo tanto

writeToFile(); 

es marginalmente más eficiente (y sigue siendo consistente con el primer ejemplo)

+5

En IDEs modernos con IntelliSense, esto ya no es verdad – SLaks

+0

En IDEs modernos con IntelliSense, es quizás * menos * un problema. No lo descartaría por completo. Muchas personas (correcta o incorrectamente) no usan IDEs (por alguna razón) –

1

Por lo general, tienden a seguir el que utiliza su marco. Así que los desarrolladores de Java tienden a usar minúsculas para comenzar, y los desarrolladores de .NET tienden a usar mayúsculas para empezar.

3

Porque eso es lo que les gustó a los diseñadores originales de Java.

+0

Sí, ¿por qué? Por lo general, harías algo, creo, para cumplir un propósito ... – Jeremy

+0

Porque prefieren esa forma. – SLaks

21

Una gran cantidad de convenciones dicen que escribe en mayúscula la primera letra de los tipos (clases, estructuras, enumeraciones, etc.), y de lo contrario utilizan minúsculas (funciones, miembros, etc.).

Si sigue esa convención, a continuación, puede saber con sólo mirar que MyStruct.MyType se refiere a un tipo anidado, y MyStruct.myData se refiere a algún tipo de datos y MyStruct.myFunc() se refiere a una llamada de función.

1

Si aún no ha leído el wikipedia page, contiene todo lo que posiblemente quiera saber sobre el camello, incluido su historial.

CamelCase (también escrito "caso camello") o capitales medial es la práctica de escribir palabras compuestas o frases en la que los elementos se unen sin espacios, con la inicial la carta de cada elemento en mayúsculas dentro de la compuesto.

Y

Una teoría sobre el origen de la convención camello caso sostiene que C programadores y hackers simplemente encontraron es más conveniente que el estilo estándar basada en un guión bajo.

C programmers lazy? Lo dudo mucho.

+0

El estilo basado en guiones bajos se remonta a EBCDIC, que no admite el caso mixto. Las variables se veían como THIS_VARIABLE. Cambie esto a ASCII y obtendrá this_variable, que es más fácil de leer. Usar thisVariable es incluso más simple, y eso es lo que hacemos en los idiomas que distinguen entre mayúsculas y minúsculas. Curiosamente, en lenguajes que no distinguen entre mayúsculas y minúsculas, como SQL, no es raro encontrar barras subyacentes. –

+0

EBCDIC admite caso mixto. Sin embargo, los códigos BCD de 6 bits eran (¿normalmente?) Mayúsculas. –

13

Utilizamos minúsculas en la primera letra para ahorrar un poco de tinta en nuestras impresiones.

+0

cómico, pero razonable. pensar global, actuar local. UPVOTED :) –

0

Un amigo me dijo que un estudio mostró que las personas podían leer el código más fácilmente si los Tipos eran camello, con una primera letra en mayúscula y las variables se hicieron como esta. Ciertamente hace que la diferencia entre tipos y variables salte.

Nunca he sabido cuál era más claro para los nombres de las funciones. En general, he considerado utilizar la primera letra, pero después de leer esto, creo que sería más legible no distinguir entre nombres de tipos y nombres de métodos (sí, en algunos idiomas, la firma de un método es un tipo, pero ya sabes a qué me refiero !)

+3

Siempre soy cínico con las respuestas que comienzan "Un amigo dijo ..." sin cita. Un enlace al estudio sería bueno :) – Andrew

1

Pascal case La primera letra del identificador y la primera letra de cada palabra concatenada subsiguiente están en mayúscula. Puede usar el caso Pascal para identificadores de tres o más caracteres. Por ejemplo: BackColor

mayúsculas se capitalizan Todas las cartas en el identificador. Utilice esta convención solo para identificadores que consten de dos o menos letras o abreviaturas, como BSU y UCS. En el ejemplo siguiente, IO y UI son los identificadores en mayúscula, mientras que System sigue el estilo de capitalización de Pascal porque la longitud es mayor que dos. Por ejemplo: System.IO; System.Web.UI

caso Camel La primera letra de un identificador es minúscula y la primera letra de cada palabra concatenada posterior se escribe con mayúscula. Por ejemplo: backColor

el siguiente enlace resume las reglas de capitalización y proporciona ejemplos de los diferentes tipos de identificadores y elementos dentro de su Web application/project.Hopefully Este enlace se útil para usted

https://dotnetprod.bsu.edu/AdminConsole/Documentation/ASPDotNet/CodingStyle/NamingConventions/Capitalization.aspx

2

Dado que camello capitaliza la primera letra de cada palabra para sustituir espacios, nos queda el desafío de cómo diferenciar un título en mayúscula, como lo haríamos en inglés para un nombre propio. Como solución a esto, la primera palabra en un identificador de caso camel se escribe en mayúscula para indicar que el título o identificador está en mayúscula.

En el caso de la programación, parece apropiado para la mayoría, en mayúsculas el nombre de una clase, pero no el nombre de sus métodos. Prácticamente proporciona una buena distinción entre las dos.

A través de los años la programación ha evolucionado para tener muchas convenciones, mientras que muchas son muy diferentes, hay muchas cosas en las que la gente tiende a estar de acuerdo. Sin embargo, encontrará que las respuestas a "por qué preguntas", como la que publicó, no siempre están enraizadas en algo completamente concreto.