Está en la página 1de 5

Estándar React

1. Utilizamos Eslint para asegurar la calidad de nuestro código - ​https://eslint.org/


2. Utilizaremos las reglas de Airbnb para Eslint, consideradas un estándar dentro de la
industria. Se puede encontrar descrito en:
https://github.com/paolocarrasco/javascript-style-guide

Variables

1. Usar ​const​ para las constantes, de tal manera que no puedan ser reasignadas.
2. Usar l​ et ​para las variables, de tal manera que su ámbito solo sea el bloque donde
son declaradas.
3. Declarar los objetos de forma literal, ​sin​ usar ​new​.
4. Usar notación ​shorthand​ para declarar métodos de un objeto -
https://eslint.org/docs/rules/object-shorthand
5. Agrupar las propiedades shorthand al inicio de la declaración de un objeto -
https://github.com/airbnb/javascript#objects--grouped-shorthand
6. Solo poner comillas a las propiedades que no se puedan utilizar como
identificadores - ​https://github.com/airbnb/javascript#objects--quoted-props

Arreglos

7. Para crear arreglos usar la notación literal -


https://github.com/airbnb/javascript#arrays--literals
8. Usar push para agregar items a un arreglo -
https://github.com/airbnb/javascript#arrays--push
9. Para copiar arreglos utilizar el operador …
https://github.com/airbnb/javascript#es6-array-spreads
10. Usar return en los callbacks siempre que la función tenga más de una línea -
https://github.com/airbnb/javascript#arrays--callback-return

Cadenas

11. Usar comillas simples para las cadenas.


12. Para construir cadenas utilizar plantillas en vez de concatenación -
https://github.com/airbnb/javascript#es6-template-literals
13. No utilizar eval() en una cadena, abre muchas vulnerabilidades.

Funciones

14. Usar valores por defecto para los argumentos de una función.
15. Colocar los parámetros con valores por defecto al final.
16. No​ usar el constructor ​Function​ para declarar una función.
17. No asignarle valores a un parámetro.
Funciones arrow

18. Al crear funciones anónimas, utilizar notación arrow.


19. Si la función tiene más de una sentencia, cerrarla entre llaves y utilizar un return
explícito - https://github.com/airbnb/javascript#arrows--implicit-return
20. Siempre cerrar los argumentos entre paréntesis para mejorar la legibilidad del código
- ​https://github.com/airbnb/javascript#arrows--one-arg-parens

Clases

21. Usar ​class ​para declarar una clase.


22. Usar ​extends​ para herencia de clases.
23. Devolver ​this​ en los métodos de la clase para poder encadenar métodos -
https://github.com/airbnb/javascript#constructors--chaining

Modulos

24. Usar módulos para ​import/export​ -


https://github.com/airbnb/javascript#modules--use-them
25. No usar ​* ​al importar - https://github.com/airbnb/javascript#modules--no-wildcard
26. export​ e ​import​ de forma separada -
https://github.com/airbnb/javascript#modules--no-export-from-import
27. Colocar todos los ​import ​en la parte superior del archivo.
28. Los ​import​ deben estar indentados como los arreglos -
https://github.com/airbnb/javascript#modules--multiline-imports-over-newlines

Iteradores y Generadores

29. Es preferible utilizar funciones de alto nivel como ​map, filter, reduce, etc ​que iterar.

Propiedades

30. Usar punto para acceder a una propiedad de un objeto -


https://github.com/airbnb/javascript#properties--dot
31. Usar [] para acceder a una propiedad con una variable.

Variables

32. Declarar siempre variables con ​const ​o ​let. ​De lo contrario una variable siempre es
global.
33. Agrupar los ​const ​y los ​let​, mejora la legibilidad del código.
34. No asignar variables en cadena, esto genera variables globales de forma implícita -
https://github.com/airbnb/javascript#variables--no-chain-assignment
35. Evitar utilizar los operadores de incremento o decremento unario ​--​ y ​++ ​-
https://github.com/airbnb/javascript#variables--unary-increment-decrement
36. Evitar romper la línea después de una asignación, utilizar un paréntesis -
https://github.com/airbnb/javascript#variables--linebreak

Operadores

37. Usar === y !== ​https://github.com/airbnb/javascript#comparison--eqeqeq


38. Al evaluar con un condicional, utilizar shortcuts para booleanos pero comparaciones
explícitas para string - ​https://github.com/airbnb/javascript#comparison--shortcuts​,
https://javascriptweblog.wordpress.com/2011/02/07/truth-equality-and-javascript/#mo
re-2108
39. Usar llaves para delimitar los bloques en la estructura ​switch - case.
40. Usar paréntesis para ordenar el encadenamiento de operadores -
https://github.com/airbnb/javascript#comparison--no-mixed-operators

Bloques

41. Usar llaves en todo bloque multilínea.

Estructuras de control

42. Si las condiciones son muy largas, cada condición debe ser puesta en una sola línea
- https://github.com/airbnb/javascript#control-statements

Comentarios

43. Usar /*....*/ para comentarios multilínea.


44. Usar // para comentarios de una sola línea. Los comentarios deben estar encima de
la sentencia. Debe hacer una línea en blanco encima de cada comentario, a menos
que sea el inicio del archivo.
45. Empezar los comentarios con un espacio en blanco para incrementar la legibilidad.
46. Comentario en inglés.

Espacios en blanco

47. Los tabs serán equivalentes a dos espacios.


48. Un espacio en blanco antes de una llave.
49. Un espacio en blanco antes del paréntesis de apertura de una condición.
50. Colocar espacio en blanco entre operadores.
51. Terminar un archivo con una línea en blanco.
52. Usar identación al encadenar métodos.
53. Una línea en blanco entre bloques.
54. Espacio en blanco al inicio y fin de llaves.
55. Evitar tener líneas con más de 100 caracteres, para asegurar la legibilidad.
56. Espacio después de las comas.
57. Espacio después de los dos puntos.
Puntos y comas

58. Usar puntos y comas para terminar una sentencia, siempre.

Conversión de tipos

59. Usar ​Number ​para el casteo y ​parseInt​ para parsear cadenas.

Nombres

60. Los nombres de las variables y funciones deben ser descriptivos. Evitar a toda costa
nombres de una sola letra.
61. Usar camelCase para nombrar objetos, funciones e instancias -
https://github.com/airbnb/javascript#naming--camelCase
62. Usar PascalCase para nombrar constructores y clases -
https://github.com/airbnb/javascript#naming--PascalCase

También podría gustarte