Sé que hay mucha controversia (tal vez no controversia, pero al menos argumentos) sobre qué convención de nomenclatura es la mejor para JavaScript.
¿Cómo nombras tus variables, funciones, objetos y demás?
Dejaré mis propios pensamientos sobre esto, ya que no he estado haciendo JS durante mucho tiempo (solo un par de años), y acabo de recibir una solicitud para crear un documento con convenciones de nomenclatura para usar en nuestros proyectos en el trabajo . Así que he estado buscando (google-ing), y hay muchas opiniones diferentes.
Los libros que he leído en JS también usan diferentes convenciones de nomenclatura, pero todos están de acuerdo en un poco: "Encuentra lo que más te convenga y cúmplelo". Pero ahora que he leído tanto, descubrí que me gustan algunos de los otros métodos un poco mejor de lo que estoy acostumbrado ahora.
fuente
Respuestas:
Sigo las convenciones de código de Douglas Crockford para javascript. También uso su herramienta JSLint para validar siguiendo esas convenciones.
fuente
ECBhandle
vs.ecbHandle
( no importa lo que signifique BCE).Como dice Geoff, lo que dice Crockford es bueno.
La única excepción que sigo (y he visto ampliamente utilizada) es usar $ varname para indicar un objeto jQuery (o cualquier biblioteca). P.ej
var footer = document.getElementById('footer');
var $footer = $('#footer');
fuente
Puedes seguir esta Guía de estilo de JavaScript de Google
En general, use functionNamesLikeThis, variableNamesLikeThis, ClassNamesLikeThis, EnumNamesLikeThis, methodNamesLikeThis y SYMBOLIC_CONSTANTS_LIKE_THIS.
EDITAR: vea una buena colección de guías de estilo y embellecedores de JavaScript .
fuente
_fooBar
hacerlofooBar_
: Microsoft acertó: asp.net/ajaxlibrary/act_contribute_codingStandards.ashx_
al hacer referencia a vars privados daría como resultado una inteligencia inmediata que limitaría los resultados; Al final pensé que era preferencia personal.Una convención que me gustaría probar es nombrar módulos estáticos con el prefijo 'the'. Mira esto. Cuando uso el módulo de otra persona, no es fácil ver cómo se supone que debo usarlo. p.ej:
Estoy pensando en probar una convención en la que los módulos estáticos usen 'the' para indicar su preexistencia. ¿Alguien ha visto una mejor manera que esta? Se vería así:
fuente
Creo que además de algunas limitaciones de sintaxis; Las convenciones de nomenclatura son muy independientes del lenguaje. Quiero decir, los argumentos a favor de c_style_functions y JavaLikeCamelCase también podrían usarse de la manera opuesta, es solo que los usuarios del lenguaje tienden a seguir a los autores del lenguaje.
Dicho esto, creo que la mayoría de las bibliotecas tienden a seguir aproximadamente una simplificación de CamelCase de Java. Encuentro los consejos de Douglas Crockford de buen gusto para mí.
fuente
Esa es una pregunta individual que podría depender de cómo esté trabajando. A algunas personas les gusta poner el tipo de variable al comienzo de la variable, como "str_message". Y a algunas personas les gusta usar guiones bajos entre sus palabras ("my_message") mientras que a otras les gusta separarlas con letras mayúsculas ("myMessage").
A menudo estoy trabajando con enormes bibliotecas de JavaScript con otras personas, por lo que las funciones y variables (excepto las variables privadas dentro de las funciones) deben comenzar con el nombre del servicio para evitar conflictos, como "guestbook_message".
En resumen: los nombres de funciones y variables en inglés, en minúsculas y bien organizados son preferibles para mí. Los nombres deben describir su existencia en lugar de ser cortos.
fuente