¿Deberían los archivos llamarse algo-con-guiones.js, camelCased.js u otra cosa?
No encontré la respuesta a esta pregunta aquí .
¿Deberían los archivos llamarse algo-con-guiones.js, camelCased.js u otra cosa?
No encontré la respuesta a esta pregunta aquí .
Respuestas:
Una posible convención de nomenclatura es usar algo similar al esquema de nomenclatura que utiliza jQuery. No se adopta universalmente, pero es bastante común.
product-name.plugin-ver.sion.filetype.js
donde el par product-name
+ plugin
también puede representar un espacio de nombres y un módulo . Los version
y filetype
son generalmente opcionales.
filetype
puede ser algo relativo a cómo es el contenido del archivo. A menudo se ven son:
min
para archivos minificadoscustom
para archivos personalizados construidos o modificadosEjemplos:
jquery-1.4.2.min.js
jquery.plugin-0.1.js
myapp.invoice.js
No conozco ninguna convención particular para los archivos javascript, ya que no son realmente únicos en la web en comparación con los archivos css o html o cualquier otro tipo de archivo como ese. Hay algunas cosas "seguras" que puede hacer que hacen que sea menos probable que se encuentre accidentalmente con un problema de plataforma cruzada:
various-scripts.js
, un guión es un separador seguro y útil y de uso común.No existe una convención oficial universal para nombrar archivos JavaScript.
Hay algunas opciones diferentes:
scriptName.js
script-name.js
script_name.js
son convenciones de nomenclatura válidas, sin embargo , prefiero la convención de nomenclatura sugerida de jQuery (para los complementos de jQuery, aunque funciona para cualquier JS)
jquery.pluginname.js
La belleza de esta convención de nomenclatura es que describe explícitamente la contaminación global del espacio de nombres que se agrega.
foo.js
agrega window.foo
foo.bar.js
agrega window.foo.bar
Porque omití el control de versiones: debe aparecer después del nombre completo, preferiblemente separado por un guión, con puntos entre las versiones principales y secundarias:
foo-1.2.1.js
foo-1.2.2.js
foo-2.1.24.js
The beauty to this naming convention is that it explicitly describes the global namespace pollution being added.
, nunca me di cuenta de eso
Foo
o myFoo
, ¿simplemente nombrarías el archivo Foo.js
o myFoo.js
respectivamente?
La pregunta en el enlace que diste habla sobre el nombre de las variables de JavaScript, no sobre el nombre de los archivos, así que olvídalo para el contexto en el que haces tu pregunta.
En cuanto a la denominación de archivos, es puramente una cuestión de preferencia y gusto. Prefiero nombrar archivos con guiones porque no tengo que buscar la tecla Mayús, como lo hago cuando trato con nombres de archivos camelCase; y porque no tengo que preocuparme por las diferencias entre los nombres de archivo de Windows y Linux (los nombres de archivo de Windows no distinguen entre mayúsculas y minúsculas, al menos a través de XP).
Entonces, la respuesta, como muchas, es "depende" o "depende de usted".
La única regla que debe seguir es ser coherente en la convención que elija.
En general, prefiero guiones en minúsculas, pero una cosa que aún no se menciona es que a veces es bueno que el nombre del archivo coincida exactamente con el nombre de un solo módulo o función instanciable contenida dentro.
Por ejemplo, tengo un módulo revelador declarado var knockoutUtilityModule = function() {...}
dentro de su propio archivo llamado knockoutUtilityModule.js, aunque objetivamente prefiero knockout-utility-module.js.
De manera similar, dado que estoy usando un mecanismo de agrupación para combinar scripts, he decidido definir funciones instanciables (modelos de vista en plantilla, etc.) cada una en su propio archivo, estilo C #, para mantenerlas. Por ejemplo, ProductDescriptorViewModel vive solo dentro de ProductDescriptorViewModel.js (uso mayúsculas para funciones instanciables).
MyPlugin
clase entraríaMyPlugin.js
. ElMenuItem
componente Reaccionar entraráMenuItem.js
. Otros desarrolladores requerirán / importarán 'your-cool-module' y usarán múltiples símbolos, así que asígnele un nombrecool-module.js
. -