¿Cuáles son algunas "reglas de oro" actuales para la implementación de espacios de nombres JQuery para albergar las funciones de utilidad de propósito general?Mejores prácticas para espacios de nombres JQuery + funciones de utilidad de propósito general
Tengo una serie de métodos de utilidad de JavaScript dispersos en varios archivos que me gustaría consolidar en uno (o más) espacios de nombres. ¿Cuál es la mejor manera de hacer esto?
Actualmente estoy mirando a dos sintaxis diferentes, que se enumeran en orden de preferencia:
//******************************
// JQuery Namespace syntax #1
//******************************
if (typeof(MyNamespace) === "undefined")
{
MyNamespace = {};
}
MyNamespace.SayHello = function()
{
alert("Hello from MyNamespace!");
}
MyNamespace.AddEmUp = function (a, b)
{
return a + b;
}
//******************************
// JQuery Namespace syntax #2
//******************************
if (typeof (MyNamespace2) === "undefined")
{
MyNamespace2 =
{
SayHello: function()
{
alert("Hello from MyNamespace2!");
},
AddEmUp: function (a, b)
{
return a + b;
}
};
}
Sintaxis # 1 es más prolija, pero parece que sería más fácil de mantener en el futuro. No necesito agregar comas entre métodos, y puedo alinear todas mis funciones.
¿Hay otras formas de hacerlo, ?
creo que la sintaxis # 1 es mejor, ya que le permite utilizar el espacio de nombres en varios archivos. Utilizo este método en mis proyectos. –
También debería extender esta pregunta para incluir espacios de nombres que contengan enumeraciones. Para las enumeraciones, aún preferiría la sintaxis n. ° 1. –
NB: Colocar llaves abiertas en su propia línea es una invitación al desastre. Open-curlies siempre debe colocarse en la misma línea que su "propietario", es decir, if(), =, etc. –