Skip to content

Instantly share code, notes, and snippets.

@lucassmagal
Created June 11, 2013 14:25
Show Gist options
  • Save lucassmagal/5757261 to your computer and use it in GitHub Desktop.
Save lucassmagal/5757261 to your computer and use it in GitHub Desktop.

Palestra boas práticas

Use o modo restrito, sempre

// com modo restrito
function foo() {
    'use strict';
    nome = 'Encatec';
    console.log(nome);
}
// Vai lançar uma exceção se "nome" não existir no escopo

// sem modo restrito
function bar() {
    nome = 'ENCATEC';
    console.log(nome);
}
// Vai executar normalmente, mas com um side effect: "nome" se tornou
// uma variável global =S

Variáveis com elementos jQuery PS.: thanks p_balduino ;)

Variáveis com objetos jQuery (vindos de id) devem, preferencialmente, ter "$" no início do nome. P. ex:

var $myelem = $('#myelem');

Uma convenção extra: queries que resultam em mais de um elemento possuem $$ no início do nome.

var $$myclasses = $('.myclass');

jQuery plugins

Crie plugins sempre que o objeto é um código que aja sobre um objeto no DOM. A convenção é:

# Arquivo jquery.myplugin.js
(function($) {
    'use strict';

    $.fn.myplugin = function(args) {
        // seu código aqui
    };
})(jQuery);

Convenção de arquivos e módulos

# Arquivo foo.js
var foo = (function($) {
    'use strict';
    var foo = window.foo || {};

    return foo;
})(jQuery);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment