126 lines
2.5 KiB
Markdown
126 lines
2.5 KiB
Markdown
|
---
|
||
|
title: Free Code Camp JavaScript Style Guide
|
||
|
localeTitle: Guía de estilo gratuita de Code Camp JavaScript
|
||
|
---
|
||
|
o cómo la gente fresca escribe JavaScript.
|
||
|
|
||
|
## Sangrar
|
||
|
|
||
|
Siempre use dos espacios
|
||
|
No hay pestañas duras, nunca. No realmente, simplemente no lo hagas.
|
||
|
|
||
|
## Tirantes rizados
|
||
|
|
||
|
Siempre use llaves cuando utilice las palabras clave `if/else/else if` . Esto evita mucha ambigüedad y prevendrá errores de sintaxis en algunos casos de borde.
|
||
|
|
||
|
Malo:
|
||
|
```
|
||
|
if (foo) bar();
|
||
|
```
|
||
|
|
||
|
Bueno:
|
||
|
```
|
||
|
if (foo) { bar(); }
|
||
|
```
|
||
|
|
||
|
## ¡Apoyos rizados en todas partes!
|
||
|
|
||
|
Espacio después de la palabra clave de la `function` , excepto en funciones anónimas
|
||
|
|
||
|
Bueno:
|
||
|
```
|
||
|
function foo() {
|
||
|
}
|
||
|
|
||
|
var foo = function() {
|
||
|
// ...
|
||
|
};
|
||
|
```
|
||
|
|
||
|
Malo:
|
||
|
```
|
||
|
function foo ()
|
||
|
{
|
||
|
// ...
|
||
|
}
|
||
|
|
||
|
var foo = function () {
|
||
|
// ...
|
||
|
};
|
||
|
```
|
||
|
|
||
|
## Comentarios
|
||
|
|
||
|
* no hay comentarios en línea
|
||
|
* espacio único después de `//`
|
||
|
* No utilice comentarios multilínea `/* */` , estamos reservando estos para su uso con jsDocs.
|
||
|
|
||
|
## Palabras clave
|
||
|
|
||
|
* espacio inmediatamente después si, else, while, etc.
|
||
|
* la apertura de la abrazadera debe estar siempre en la misma línea.
|
||
|
|
||
|
Bueno:
|
||
|
```
|
||
|
if (true) {
|
||
|
// do the thing
|
||
|
}
|
||
|
```
|
||
|
|
||
|
Malo:
|
||
|
```
|
||
|
if(true)
|
||
|
{
|
||
|
// do the thing
|
||
|
}
|
||
|
```
|
||
|
|
||
|
## Más
|
||
|
|
||
|
Evita otra cosa y "termina temprano". En JavaScript a menudo hay mucha sangría (generalmente cuando se trata de código asíncrono y se llama "infierno de devolución de llamada"). Cualquier cosa que pueda hacer para reducir el número de sangrías debe hacerse. Una cosa es [evitar la](http://blog.timoxley.com/post/47041269194/avoid-else-return-early) palabra clave [else](http://blog.timoxley.com/post/47041269194/avoid-else-return-early) .
|
||
|
|
||
|
Esto también tiene el efecto secundario de hacer que el código sea más limpio y fácil de leer.
|
||
|
|
||
|
Malo:
|
||
|
```
|
||
|
someAsynFunc(function(err, data) {
|
||
|
if (err) {
|
||
|
callback(err);
|
||
|
} else {
|
||
|
// do stuff with data
|
||
|
}
|
||
|
});
|
||
|
```
|
||
|
|
||
|
Bueno:
|
||
|
```
|
||
|
someAsynFunc(function(err, data) {
|
||
|
if (err) {
|
||
|
return callback(err);
|
||
|
}
|
||
|
// do stuff with data
|
||
|
// saves one indent
|
||
|
});
|
||
|
```
|
||
|
|
||
|
## Cuerdas largas
|
||
|
|
||
|
Las cadenas largas multilínea deben tener una de dos 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('');
|
||
|
```
|
||
|
|
||
|
…más por venir
|