Saltar la navegación

1.3 Buenas prácticas de codificación

Este apartado aborda cómo identificarlas e implementarlas en proyectos de desarrollo de software, complementado con ejemplos en Python y referencias.

1. Legibilidad del código:

Uso de nombres descriptivos: Las variables, funciones y clases deben tener nombres que reflejen claramente su propósito.
Formato consistente: Seguir convenciones como PEP 8 en Python.
Indentación adecuada: Garantizar que el código esté alineado correctamente.

Ejemplo:

# Nombre descriptivo para una función
def calcular_promedio(lista_numeros):
    suma = sum(lista_numeros)
    cantidad = len(lista_numeros)
    return suma / cantidad

2. Modularidad:

Dividir el código en funciones y módulos reutilizables.
Reducir la complejidad evitando funciones largas o multifuncionales.

Ejemplo:

def obtener_datos():
    return [10, 20, 30, 40]

defcalcular_suma(lista): return sum(lista)
def main(): datos = obtener_datos() resultado = calcular_suma(datos) print(f"La suma es {resultado}")
if __name__ == "__main__": main()

3. Documentación:

Incorporar comentarios claros para explicar partes complejas del código.
Usar docstrings en funciones, clases y módulos para proporcionar
información estructurada.

Ejemplo:

def calcular_area_circulo(radio):
    """
    Calcula el área de un círculo dado su radio.

Argumentos: radio (float): El radio del círculo.
Retorna: float: El área del círculo. """ import math return math.pi * radio**2

4. Evitar repeticiones:

Seguir el principio DRY (Don't Repeat Yourself).

Ejemplo:

def calcular_descuento(precio, porcentaje):
    return precio * (1 - porcentaje / 100)

productos = [100, 200, 300] descuentos = [10, 15, 20]
for precio, descuento in zip(productos, descuentos): print(f"Precio final: {calcular_descuento(precio, descuento)}")

Implementación de buenas prácticas de codificación

1. Utilizar herramientas para verificar el estilo de código:

Linters como pylint o flake8 identifican errores de estilo y cumplimiento.

Ejemplo:

flake8 archivo.py

2. Adoptar metodologías de desarrollo:

Metodologías como TDD (Test-Driven Development) fomentan un código estructurado y testeado.

Ejemplo: Escribir pruebas unitarias antes del desarrollo del código:

import unittest
def multiplicar(a, b): return a * b
class TestMultiplicacion(unittest.TestCase): def test_multiplicar(self): self.assertEqual(multiplicar(2, 3), 6)
if __name__ == "__main__": unittest.main()

3.Integrar revisiones de código:

Implementar revisiones colaborativas mediante plataformas como GitHub.

Ejemplo: Usar pull requests para revisar cambios y asegurar calidad.

4.Documentar proyectos:

Crear archivos como README.md y documentación técnica.

Ejemplo:

# Proyecto Calculadora

## Descripción Calcula operaciones básicas como suma, resta y multiplicación.
## Requisitos - Python 3.8+
## Ejecución ```bash python calculadora.py

5. Automatización de pruebas:

Usar herramientas como pytest para ejecutar pruebas automáticas.

Ejemplo:

def dividir(a, b):
    if b == 0:
        raise ValueError("El divisor no puede ser cero.")
    return a / b
def test_dividir(): assert dividir(10, 2) == 5 try: dividir(5, 0) except ValueError as e: assert str(e) == "El divisor no puede ser cero."

Beneficios de implementar buenas prácticas

  1. Mejora de la calidad del software: Reduce errores y mejora el rendimiento.
  2. Facilidad de colaboración: Simplifica el trabajo en equipo.
  3. Reducción del tiempo de mantenimiento: Un código bien escrito es fácil de modificar.
  4. Incremento de la productividad: El código legible acelera el desarrollo.

Referencias

  1. Fowler, M. (1999). Refactoring: Improving the Design of Existing Code. Addison- Wesley.
  2. PEP 8 – Style Guide for Python Code: https://peps.python.org/pep-0008/ 
  3. Martin, R. C. (2008). Clean Code: A Handbook of Agile Software Craftsmanship. Prentice Hall.

Sitios web de referencia:

  • GeeksforGeeks
  • Real Python
  • Stack Overflow

Creado con eXeLearning (Ventana nueva)