Todas las semanas escogemos un proyecto de la vida real para que construyas tu portafolio y te prepares para conseguir un trabajo. Todos nuestros proyectos están construidos con ChatGPT como co-pilot!
Únete al retoUn podcast de cultura tecnológica donde aprenderás a luchar contra los enemigos que te bloquean en tu camino para convertirte en un profesional exitoso en tecnología.
Escuchar el podcast4geeks method
coding standard guidelines
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:
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.
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.
Algunas de las convenciones de nomenclatura se dan a continuación:
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.camelCase
comenzando con letra minúscula.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)
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:
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}
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.
try-except
y try-catch
para manejar excepciones..catch()
o el bloque try-catch
(si se usan promesas) y muestra el error en la consola.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:
else
.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}