4Geeks logo
4Geeks logo
Sobre Nosotros

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.

Full-Stack Software Developer

Data Science and Machine Learning - 16 wks

Buscar en lecciones

Aprendizaje social y en vivo

La forma más eficiente de aprender: Únete a una cohorte con compañeros, transmisiones en vivo, sesiones improvisadas de codificación, tutorías en vivo con expertos reales y mantenga la motivación.

De cero a que te paguen como desarrollador, aprende las habilidades del presente y del futuro. Impulsa tu carrera profesional y sé contratado por una empresa tecnológica.

Empezar a programar

← Regresar a lecciones
Editar en Github

Estandares y lineamientos de codigo

Variables globales
Legibilidad
  • Evita anidar

🤯 "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 codificar 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 de 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 crecida 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 valores de retorno para compartir datos entre diferentes partes de un programa. Esto puede ayudar a hacer que el código sea más mantenible, probado 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 cualquiera a entender el motivo de su uso.
  • Las variables generales deben nombrarse en camelCase para Javascript, Node, Java, Ruby, etc., en snake_case para python, 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 la función deben escribirse en camel case comenzando con letras pequeñas.
  • El nombre de la 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" (todas las palabras que se usan) 7❌ MAL: "n_items" (se utiliza la abreviatura) 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 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

Usar una herramienta de indentación más bonita o automática. Si eso no es posible (por alguna razón extraña), asegúrate de indentar manualmente cada uno:

  • Elige cuántos espacios usarás (2 o 4 espacios por indentación).
  • 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 // code block 1 3} else if (condition) { 4 // code block 2 5} else { 6 // code block 3 7}

Errores y excepciones

Cuando se codifica, algunos de los errores se ocultan a 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 del código pero aquí hay un resumen muy corto de las mejores prácticas:

  • Elije 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 sangría.
  • No comentes demasiado tu código.
  • Evita líneas de código largas.

Evita anidar

Cuando sea posible, evita usar funciones anidadas como:

1def calculate_discount(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 elif item.category == 'electronics': 8 if quantity >= 5: 9 return item.price * 0.8 10 else: 11 return item.price * 0.9 12 else: 13 return item.price

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:

1def calculate_discount(item, quantity): 2 if item.category != 'clothing' and item.category != 'electronics': 3 return item.price 4 5 discount = 1.0 6 if item.category == 'clothing': 7 discount = 0.9 if quantity >= 10 else 0.95 8 else: 9 discount = 0.8 if quantity >= 5 else 0.9 10 11 return item.price * discount