A tu propio ritmo

Explora nuestra extensa colección de cursos diseñados para ayudarte a dominar varios temas y habilidades. Ya seas un principiante o un aprendiz avanzado, aquí hay algo para todos.

Bootcamp

Aprende en vivo

Únete a nosotros en nuestros talleres gratuitos, webinars y otros eventos para aprender más sobre nuestros programas y comenzar tu camino para convertirte en desarrollador.

Próximos eventos en vivo

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Buscar en lecciones


IngresarEmpezar
← Regresar a lecciones
  • coding standard guidelines

Editar en Github

Estandares y lineamientos de codigo

Variables globales

quoteImg

No soy un gran programador; solo soy un buen programador con buenos hábitos. - Kent Beck"
--

Los estudios han demostrado que los desarrolladores que usan las mejores prácticas al escribir código son hasta un 40% más productivos que aquellos que no lo hacen, y que el código con buenas prácticas es hasta un 50% más barato de mantener que el código con malas prácticas.

Además, las empresas y los gobiernos pierden mucho dinero todos los días porque los desarrolladores no siguen las mejores prácticas y directrices, aquí hay algunos ejemplos sobre los que puedes leer más:

  • La Órbita Climática de Marte de la NASA se perdió porque el equipo no estaba usando un sistema de métricas consistente en la base del código; lo que llevó a una confusión en los cálculos, perdiendo $320 millones.
  • La explosión del cohete Ariane 5 de la ESA fue causada por un código muy difícil de leer, $370 millones perdidos.
  • El Flash Crash del mercado de valores de EE. UU. en 2010, pérdidas financieras significativas no divulgadas.

Esta lección es una compilación de las mejores prácticas que promovemos en 4Geeks, ha sido creada y enriquecida con contribuciones de todos los mentores de la comunidad.

Variables globales

Es mejor evitar usar variables globales siempre que sea posible, usa más argumentos de función y retorna valores para compartir datos entre diferentes partes de un programa. Esto puede ayudar a hacer que el código sea más mantenible, testeable y confiable.

  1. Las variables globales se pueden acceder desde cualquier lugar del código, lo que hace más difícil rastrear errores y entender cómo funciona el código.
  2. Es más difícil aislar problemas cuando varias partes del código están interactuando con las mismas variables globales.
  3. Los cambios en una variable global pueden tener consecuencias no deseadas en otras partes del código.

no uses variables globales

Nombres de variables

Algunas de las convenciones de nomenclatura se dan a continuación:

  • Los nombres de variables significativos y comprensibles ayudan a todos a entender el motivo de su uso.
  • Las variables generales deben nombrarse en camelCase para Javascript, Node, Java, etc. Y en snake_case para Python, Ruby, etc. Aquí puedes leer más sobre convenciones de nomenclatura de variables.
  • Las variables constantes se nombran en LETRAS MAYÚSCULAS.
  • Es mejor evitar el uso de dígitos en los nombres de variables.
  • Los nombres de las funciones deben escribirse en camelCase comenzando con letra minúscula.
  • El nombre de una función debe describir claramente y brevemente el motivo de usar la función.
1Nombres de variables descriptivos: 2✅ BIEN: "customer_name" (describe el contenido de la variable) 3❌ MAL: "x" (no descriptivo o significativo) 4 5Usar convenciones de nomenclatura: 6✅ BIEN: "number_of_items" (se usan palabras completas y snake_case) 7❌ MAL: "n_items" (se usan abreviaturas) 8 9✅ BIEN: "customerName" (se usa camelCase) 10❌ MAL: "customername" (no se utiliza ninguna convención de nomenclatura) 11 12Evitar usar nombres de una sola letra: 13✅ BIEN: "customer_name" (descriptivo y significativo) 14❌ MAL: "x" (una sola letra y no descriptivo) 15 16Mantener los nombres cortos, pero no demasiado cortos: 17✅ BIEN: "product_price" (corto y descriptivo) 18❌ MAL: "p" (muy corto y no descriptivo)

Indentación

Usa Prettier o cualquier herramienta de indentación automática. Si eso no es posible (por alguna razón extraña), asegúrate de indentar manualmente cada línea:

  • Elige cuántos espacios usarás (2 o 4 espacios por indentación).
  • En Python se recomienda utilizar 4 espacios para la indentación PEP8.
  • Usa un estilo de indentación consistente.
  • Indenta bloques de código: Los bloques de código, como los que se encuentran dentro de una función o bucle, deben indentarse para distinguirlos visualmente del código circundante.
1if (condition) { 2 // bloque de código 1 3} else if (condition) { 4 // bloque de código 2 5} else { 6 // bloque de código 3 7}

Errores y excepciones

Cuando escribimos código, algunos de los errores se ocultan de los desarrolladores a menos que se manejen activamente las excepciones, por esta razón, decidimos incluir esta guía en la lista.

  • Usa bloques try-except y try-catch para manejar excepciones.
  • Cuando se recuperen datos en JavaScript, siempre incluye la función .catch() o el bloque try-catch (si se usan promesas) y muestra el error en la consola.
  • Registra errores y excepciones en la consola y en el archivo de registro si es posible.
  • Evita suprimir excepciones.

Legibilidad

Crear código que sea fácil de leer es esencial para producir software de alta calidad que sea confiable, mantenible y fácil de modificar o actualizar. Tenemos un artículo completo sobre legibilidad de código, pero aquí hay un resumen muy corto de las mejores prácticas:

  • Elige los nombres de variables con sabiduría.
  • Separa tu código en funciones más pequeñas.
  • Evita usar declaraciones else.
  • Presta mucha atención a la indentación.
  • No comentes demasiado tu código.
  • Evita líneas de código largas.

Evita anidar

Cuando sea posible, evita usar funciones anidadas como:

1function calculateDiscount(item, quantity) { 2 if (item.category === 'clothing') { 3 if (quantity >= 10) { 4 return item.price * 0.9; 5 } else { 6 return item.price * 0.95; 7 } 8 } else if (item.category === 'electronics') { 9 if (quantity >= 5) { 10 return item.price * 0.8; 11 } else { 12 return item.price * 0.9; 13 } 14 } else { 15 return item.price; 16 } 17}

El código está demasiado anidado y tiene una estructura compleja que puede ser difícil de seguir. Esto se puede mejorar refactorizando el código para usar menos niveles de anidamiento, o usando retornos tempranos o refactorizando las declaraciones condicionales para simplificar la estructura. Aquí hay un ejemplo:

1function calculateDiscount(item, quantity) { 2 if (item.category !== 'clothing' && item.category !== 'electronics') { 3 return item.price; 4 } 5 6 let discount = 1.0; 7 if (item.category === 'clothing') { 8 discount = quantity >= 10 ? 0.9 : 0.95; 9 } else { 10 discount = quantity >= 5 ? 0.8 : 0.9; 11 } 12 13 return item.price * discount; 14}