funciona ejemplos ecmascript definicion como caracteristicas javascript variables function casing

ejemplos - javascript pdf



¿Cuál es el estilo de carcasa de mejores prácticas para javascript? ¿Por qué? (6)

El lenguaje central utiliza InitialCaps para constructores (por ejemplo, Object, Date, Number, RegExp) y camelCase para métodos y propiedades (por ejemplo, something.toString (), quantity.valueOf (), regexp.ignoreCase). Esta convención también se sigue en las especificaciones e implementaciones de DOM (por ejemplo, HTMLElement.setAttribute ()). Por lo tanto, tiene más sentido adoptar la misma convención, o terminar con una mezcolanza horrenda de estilos como:

var number_of_fish_requested = document.getElementById("fish").value; var fish_count = parseInt(number_of_fish_requested, 10);

que se vuelve completamente confuso, no solo para escribir sino, mucho más importante, para leer.

(Pasas más tiempo leyendo el código, intentando depurarlo o modificarlo, que nunca escribirlo en primer lugar).

Un aspecto de javascript sobre el que es difícil encontrar información es acerca de las prácticas de envoltura. Por prácticas de envoltura, me refiero a qué estilo de envoltura (es decir, camel-case, pascal-case, etc.) debería usarse para qué elementos (constructores, funciones privadas, funciones públicas).

La única regla que he escuchado fue una conferencia de Douglas Crockford en el teatro YUI, indicando que los constructores deberían ser las únicas funciones que comienzan con una letra mayúscula.

Más allá de eso, no parece haber muchos estándares de envoltura que las personas sigan en javascript.

¿Alguien conoce las mejores prácticas de la carcasa para javascript, y por qué es razonable usarlas?

¿También sigues un estilo de caja con tus archivos .js?


Prefiero PascalCase para constructores y camelCase para todo lo demás. Ese es el estilo que utiliza la biblioteca estándar JS y bueno ... cada framework JS que he visto hasta ahora :)

Y utilizo la convención de nombres all_lowercase para todos los archivos servidos desde la web. Hay algunos sistemas de archivos que no distinguen entre mayúsculas y minúsculas.


Prefiero camelCase para todo excepto para constructores. La razón (y creo que esta es la razón por la cual el Sr. Crockford también sugirió esto) es porque en otros idiomas, como Java, la convención capitaliza sus clases, que es para lo que se usan los constructores.

Esa es mi $ 0.02.


Todas las minúsculas con separadores de subrayado son las más fáciles de leer; sigue el lenguaje natural. "Lo mejor" te llevará a una guerra santa; la realidad es que el caso no importa tanto como otros problemas de diseño, pero es un tema fácil de polarizar.

ALongButNotReallyReadableIdentifier an_even_longer_but_completely_readable_identifier


La respuesta aceptada es verdadera, pero hay algunas excepciones. En window.JSON y window.XMLHttpRequest, el término está en mayúscula.

Además, la mayoría de la gente usa PascalCase para los objetos tipo enum en Javascript y en los valores en mayúscula. A veces, los espacios de nombres también se realizan en PascalCase.

ejemplo: MyCompany.Web.UI.MyComponent.ThemeOption = {BLACK: 0, SILVER: 1, BLUE: 2}


Lo que he visto hasta ahora es una gran diversidad de estándares de carcasa.

En lo que a mí respecta, utilizo el estilo C # para escribir mi código JavaScript. Uso mucho las clases (bien funciona como clases, y generalmente no tengo funciones independientes). Por lo tanto, uso PascalCase para nombres de clases, métodos públicos, propiedades y todas las variables globales y camelCase para argumentos, variables locales y funciones privadas. Esto de alguna manera refleja mi entorno común, ayudando a distinguir los ámbitos de variable. También tiendo a mantener mis funciones de clase en un archivo separado con el mismo nombre que mi ClassName (ClassName.js, ClassName.min.js).

Esto fue sobre mi enfoque.

También noté que los programadores de Java siguen las reglas de Java (y el estilo de escritura se asemeja al de Java). Los programadores de Ruby on Rails siguen sus propios estándares de nomenclatura como underscore_separated_var_name .

Además, como mencionaste, hay una tendencia a usar pascalCase mucho en nombres en marcos muy populares cuyos autores provienen de diferentes comunidades como Linux / comunidad de fuente abierta y desarrolladores de Microsoft (jQuery, knockout.js, JSJaC, etc.)

Debo señalar que ninguno de estos métodos es incorrecto o correcto, cuando se trata de JS. El propósito principal de las convenciones de nomenclatura y estructuración de archivos es la legibilidad. Si eres coherente, en el futuro y tus compañeros desarrolladores entenderán rápidamente y seguirán con tu código.