Skip to content

Latest commit

 

History

18 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

Best Practices

Definición de variables

Una variable se va a declarar siempre con un var delante.

var test = "";

Una constante la escribiremos en mayuscula y con _ entre palabras.

var CONST_TEST = "test";
No usaremos const ya que IE no lo acepta.

Si solo tenemos una variable la declararemos así:

var firstName = "";

En caso de que tengamos más de una, las declaremos todas juntas:

var firstName = "",
    lastName = "";

Pero nunca así:

var firstName = "";
var lastName = "";

Para mantener el contexto tenemos la posibilidad de generar objetos que contengan la información, y de esta forma poder separarlo más comodamente, a saber:

var person = {
        name : "",
        firstName : "",
        lastName : "",
        age : ""
    };

var ball = {
        type : "",
        size : ""
    };

Si declaramos objetos sencillos como estos, podremos hacer referencia a sus propiedades de una forma como esta:

person.name;

ball.size;

En el caso de generación de objectos si esta bien visto no juntar la declaración, para ayudar a la diferenciación de contexto.

Generación de componentes en JS

(function (exports) {
var init = function(){

},

var initParam = function(param){

}

var module = {
    testModule: {
        init: init,
        initParam: initParam
    }
};

$.extend(exports, module);

})(test);

Esto despues nos permitira usarlo como objeto y tener acceso solo a las funciones y variables que queramos exportar en el modulo

 test.testModule.init();

y

test.testModule.initParam(param);

De esta forma nos beneficiamos de poder tener funciones y variables privadas, ya que si no las incluimos en el modulo que exportaremos no seran accesibles, por ejemplo, si yo declaro la variable foo de esta forma:

(function (exports) {
var init = function(){

},

var foo = "",

var module = {
    testModule: {
        init: init,
    }
};

$.extend(exports, module);

})(test);

Si yo intentera hacer algo tal que asi:

test.testModule.foo

Daria error, ya que no es accesible, lo mismo ocurre con las funciones.

Best practices

Evitar parentesis que no son necesarios:

En vez de:

typeof(a) != undefined 
return (a)

Mejor hacer:

typeof a != undefined 
return a

Asi queda más limpio

Eliminar lineas de codigo innecesarias

En vez de:

if(typeof a != undefined && a != undefined){
    a = 42:
}

Mejor hacer:

if(a){
    a = 42;
}

Para ahorras más lineas de codigo innecesarias

En vez de:

if(a){
    a = 42;
}

Mejor hacer:

a = a || 42;

Thanks to: https://google.github.io/styleguide/javascriptguide.xml

Happy coding! :)

About

Javascript Best Practices

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages