126 lines
2.4 KiB
Markdown
126 lines
2.4 KiB
Markdown
---
|
|
title: Free Code Camp JavaScript Style Guide
|
|
localeTitle: Guia de Estilo JavaScript Free Code Camp
|
|
---
|
|
ou como as pessoas legais escrevem JavaScript.
|
|
|
|
## Recuar
|
|
|
|
Use sempre dois espaços
|
|
Nenhuma guia dura, nunca. Não, só não faça isso.
|
|
|
|
## Cintas Encaracoladas
|
|
|
|
Sempre use chaves quando usar as palavras-chave `if/else/else if` . Isso evita muita ambiguidade e evitará erros de sintaxe em alguns casos de borda.
|
|
|
|
Mau:
|
|
```
|
|
if (foo) bar();
|
|
```
|
|
|
|
Boa:
|
|
```
|
|
if (foo) { bar(); }
|
|
```
|
|
|
|
## Curly Braces Everywhere!
|
|
|
|
Espaço após a `function` Palavra-chave, exceto em funções anônimas
|
|
|
|
Boa:
|
|
```
|
|
function foo() {
|
|
}
|
|
|
|
var foo = function() {
|
|
// ...
|
|
};
|
|
```
|
|
|
|
Mau:
|
|
```
|
|
function foo ()
|
|
{
|
|
// ...
|
|
}
|
|
|
|
var foo = function () {
|
|
// ...
|
|
};
|
|
```
|
|
|
|
## Comentários
|
|
|
|
* sem comentários inline
|
|
* espaço único depois de `//`
|
|
* Não use comentário multilinha `/* */` , estamos reservando-os para uso com jsDocs.
|
|
|
|
## Palavras-chave
|
|
|
|
* espaço imediatamente após if, else, while, etc
|
|
* A chave de abertura deve estar sempre na mesma linha.
|
|
|
|
Boa:
|
|
```
|
|
if (true) {
|
|
// do the thing
|
|
}
|
|
```
|
|
|
|
Mau:
|
|
```
|
|
if(true)
|
|
{
|
|
// do the thing
|
|
}
|
|
```
|
|
|
|
## Outro
|
|
|
|
Evite mais e "final cedo". Em JavaScript, muitas vezes há um grande número de recuos (geralmente quando se lida com código assíncrono e chamado "callback hell"). Qualquer coisa que você pode fazer reduzir o número de travessões deve ser feito. Uma coisa é [evitar a](http://blog.timoxley.com/post/47041269194/avoid-else-return-early) palavra-chave [else](http://blog.timoxley.com/post/47041269194/avoid-else-return-early) .
|
|
|
|
Isso também tem o efeito colateral de tornar o código mais limpo e mais fácil de ler.
|
|
|
|
Mau:
|
|
```
|
|
someAsynFunc(function(err, data) {
|
|
if (err) {
|
|
callback(err);
|
|
} else {
|
|
// do stuff with data
|
|
}
|
|
});
|
|
```
|
|
|
|
Boa:
|
|
```
|
|
someAsynFunc(function(err, data) {
|
|
if (err) {
|
|
return callback(err);
|
|
}
|
|
// do stuff with data
|
|
// saves one indent
|
|
});
|
|
```
|
|
|
|
## Cordas Longas
|
|
|
|
Seqüências multilinhas longas devem estar em uma das duas formas:
|
|
```
|
|
var longString =
|
|
'long strings should ' +
|
|
'be in this form, with the ' +
|
|
'operator ending the line';
|
|
|
|
var foo = 'bar';
|
|
|
|
var longString = [
|
|
'long strings with variables such as ',
|
|
foo,
|
|
'should ',
|
|
'be in this form, an array of strings ',
|
|
'that are joined with the join array instance method',
|
|
].join('');
|
|
```
|
|
|
|
... mais por vir |