2. Maior
dificuldade da
programação
"There are only two hard
things in Computer
Science: cache
invalidation and naming
things."
— Phil Karlton
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
2 de 26 27/09/13 01:05
3. Na vida real
"There are only two hard
things in Computer
Science: cache
invalidation, naming
things, and off-by-one
errors". *
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
3 de 26 27/09/13 01:05
4. you give vars a bad
name.
#bonjoviprogramming
— @leobalter
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
4 de 26 27/09/13 01:05
6. var foo = "",
bar = "",
qux;
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
6 de 26 27/09/13 01:05
7. var foo = ""
var bar = ""
var qux
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
7 de 26 27/09/13 01:05
8. Código
consistente e
consciente
var foo = ""
bar = ""
qux
bar será tratado como
global e qux vai dar
erro de referência se
for undefined.
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
8 de 26 27/09/13 01:05
9. Law of code
style
consistency
"Todo código em
qualquer aplicação
deve parecer como se
tivesse sido escrito por
uma única pessoa,
independentemente de
quantas pessoas
tenham contribuído."
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
9 de 26 27/09/13 01:05
10. Assim que você
assume o estilo de um
código ele deve se
tornar lei e todos
devem seguir o mesmo
estilo.
"Argumentos além do
estilo são inúteis. Deve
haver um guia de
estilo, e você deve
segui-lo". Rebecca
Murphey
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
10 de 26 27/09/13 01:05
11. O que deve ter
em um guia de
estilo de JS?
Whitespace
Sintaxe bonita
Nomeação de objetos
Comentários
Idiomas
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
11 de 26 27/09/13 01:05
12. Padrões de projeto
...
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
12 de 26 27/09/13 01:05
13. Whitespace
Tabs ou espaços?
Identação de quantos
espaços?
linebreaks
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
13 de 26 27/09/13 01:05
14. Sintaxe
elegante
Quem curte o ASI?
Áspas simples ou
duplas?
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
14 de 26 27/09/13 01:05
15. Nomeação de
objetos
function q(s) {
return document.querySelect
}
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
15 de 26 27/09/13 01:05
16. function query( selector ) {
return document.querySelect
}
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
16 de 26 27/09/13 01:05
17. Comentários
// retorna elementos de acord
function query( selector ) {
return document.querySelect
}
function query( selector ) {
return document.querySelect
}
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
17 de 26 27/09/13 01:05
18. Idiomas
// renvoie les éléments en fo
function requete( selector )
return document.querySelect
}
Se você entende
Francês e Inglês,
parabéns.
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
18 de 26 27/09/13 01:05
20. return {
getData: function() {
return data;
},
setData: function( valu
return ( data = value
}
};
})();
global.Module = Module;
})( this );
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
20 de 26 27/09/13 01:05
21. Ferramentas
Plato, JSHint, JSPerf,
JSBin
Grunt, Yeoman,
Bower
QUnit, Jasmine,
Mocha
Exemplo: "Como
contribuir com um
projeto".
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
21 de 26 27/09/13 01:05
22. Qual o melhor
guia de estilos
de JS?
Nenhum.
Não há bala de prata.
O melhor estilo é o que
a sua equipe melhor se
adapta. A flexibilidade
do JS deve ser usada ao
seu favor.
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
22 de 26 27/09/13 01:05
23. Não tente estabelecer
uma única forma para
outros projetos que
não são seus. Temos
mindset diferentes.
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
23 de 26 27/09/13 01:05
24. JS Style Guides
Idiomatic.js
Google
jQuery
Airbnb
Se não quiser seguir
algum, crie um pra seu
projeto e torne ele
mandatório.
JS Idiomático, Convenções e Polêmicas. http://jsbin.com/iGuyixo/7
24 de 26 27/09/13 01:05