0Pricing
CI/CD with GitHub Actions & DevOps Pipelines · Lección

Linting y comprobaciones de calidad del código

Implemente herramientas de análisis estático y linting en sus workflows para mantener estándares de codificación coherentes.

Linting y comprobaciones de calidad del código es una lección gratuita de CI/CD with GitHub Actions & DevOps Pipelines en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de CI/CD with GitHub Actions & DevOps Pipelines, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CI/CD with GitHub Actions & DevOps Pipelines incluye 4 lecciones en total.

¿Qué es la calidad del código?

¿Alguna vez ha trabajado con código difícil de entender o propenso a errores? A menudo, eso es una señal de baja calidad del código.

La calidad del código se refiere a lo bien escrito, mantenible, legible y fiable que es el software. El código de alta calidad es más fácil de utilizar y tiene menos probabilidades de fallar.

Conozca el linter

El linting es un proceso que comprueba si el código contiene errores de programación y de estilo. ¡Piense en ello como un corrector ortográfico para su código!

  • Impone estándares de codificación como la indentación, los nombres de variables y la longitud de las líneas.
  • Detecta errores de sintaxis sencillos o posibles errores antes incluso de ejecutar el código.

Los linters no ejecutan el código; analizan su estructura.

Análisis estático del código

Mientras que el linting suele centrarse en el estilo, el análisis estático del código es un término más amplio. Consiste en examinar el código sin ejecutarlo para detectar problemas más complejos.

Las herramientas de análisis estático pueden identificar:

  • Posibles vulnerabilidades de seguridad, como riesgos de inyección SQL
  • Cuellos de botella de rendimiento
  • Patrones de errores complejos o código inalcanzable

Tanto el linting como el análisis estático ayudan a mejorar la calidad general del código.

Ventajas del código limpio

Integrar el linting y el análisis estático en su flujo de desarrollo ofrece muchas ventajas:

  • Coherencia: Garantiza que todo el código siga los estándares acordados.
  • Detección temprana de errores: Detecta los errores antes de que se conviertan en problemas mayores.
  • Mayor legibilidad: Facilita que otras personas, y también usted en el futuro, comprendan el código.
  • Mejor mantenibilidad: Reduce el esfuerzo necesario para realizar actualizaciones y correcciones futuras.

Herramientas habituales

Los distintos lenguajes de programación tienen sus propias herramientas populares de linting y análisis estático:

  • JavaScript: ESLint, Prettier
  • Python: Flake8, Pylint, Black
  • Java: Checkstyle, SonarQube

En esta lección nos centraremos en Flake8 para Python, una herramienta sencilla pero potente.

Linting de Python con Flake8

Flake8 combina varias herramientas (Pyflakes, pycodestyle y McCabe) para comprobar que el código Python cumpla las directrices de estilo de PEP 8 y no contenga errores habituales.

PEP 8 es la guía de estilo oficial de Python y fomenta un código legible y coherente. Flake8 le ayuda a cumplirla automáticamente.

Ejecución local de Flake8

Aquí tiene un pequeño script de Python con algunos problemas de estilo. Para ejecutar Flake8 en él, normalmente tendría que instalarlo (`pip install flake8`) y después ejecutar `flake8 your_script.py` en su terminal.

Observe los espacios y las decisiones de estilo. ¡Flake8 las señalaría!

def calculate_sum(  num1, num2 ):
    total = num1 + num2
    print ( total )

calculate_sum( 5, 7 )

Linting en su pipeline de CI

Para garantizar una calidad de código coherente en todo su equipo, puede automatizar el linting con GitHub Actions. Esto significa que el linter se ejecutará automáticamente cada vez que se envíe código o se abra una solicitud de incorporación de cambios.

Si el linter encuentra problemas, puede configurar el flujo de trabajo para que falle e impedir que se fusione código de baja calidad en la rama principal.

Ejemplo de flujo de trabajo con Flake8

Aquí tiene un flujo de trabajo básico de GitHub Actions (`.github/workflows/lint.yml`) que ejecuta Flake8 en su proyecto de Python. Se activa cuando se envían cambios o se crean solicitudes de incorporación de cambios para la rama principal.

name: Python Linting

on:
  push:
    branches: [ main ]
  pull_request:
    branches: [ main ]

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
    - uses: actions/checkout@v4
    - name: Set up Python
      uses: actions/setup-python@v5
      with:
        python-version: '3.x'
    - name: Install dependencies
      run: |
        python -m pip install --upgrade pip
        pip install flake8
    - name: Run Flake8
      run: |
        flake8 . --count --show-source --statistics

Lectura de informes de linting

Cuando se ejecuta Flake8, genera una lista de problemas. Normalmente, cada línea incluye el nombre del archivo, el número de línea, el número de columna, el código del error, como E231 o W292, y una descripción.

  • E (Error): Normalmente indica infracciones graves de estilo o de sintaxis.
  • W (Advertencia): Indica problemas de estilo menos críticos.

Su objetivo suele ser que no haya errores ni advertencias de linting para conseguir un pipeline limpio.

Comprobación de conocimientos sobre linting

Ha aprendido sobre la importancia del linting y del análisis estático. ¡Pongamos a prueba sus conocimientos!

Resumen: linting para mejorar la calidad

¡Excelente trabajo! Ha explorado cómo el linting y el análisis estático del código son fundamentales para mantener una alta calidad de código en el desarrollo de software moderno.

  • Hemos definido el linting y el análisis estático.
  • Hemos aprendido sus ventajas para mejorar la coherencia y prevenir errores.
  • Hemos visto cómo integrar herramientas como Flake8 en los flujos de trabajo de GitHub Actions.

Al automatizar estas comprobaciones, garantiza un código más limpio y fiable en cada confirmación.

Preguntas frecuentes

¿La lección «Linting y comprobaciones de calidad del código» es gratis?

Sí — el texto completo de «Linting y comprobaciones de calidad del código» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de CI/CD with GitHub Actions & DevOps Pipelines, actualiza a CoddyKit PRO. El curso de CI/CD with GitHub Actions & DevOps Pipelines incluye 4 lecciones en total.

¿Qué aprenderé en «Linting y comprobaciones de calidad del código»?

Implemente herramientas de análisis estático y linting en sus workflows para mantener estándares de codificación coherentes. Practicas CI/CD with GitHub Actions & DevOps Pipelines con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar CI/CD with GitHub Actions & DevOps Pipelines?

No se requiere experiencia previa. CI/CD with GitHub Actions & DevOps Pipelines en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Linting y comprobaciones de calidad del código»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de CI/CD with GitHub Actions & DevOps Pipelines?

Sí. Cada lección de CI/CD with GitHub Actions & DevOps Pipelines incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Activadores y eventos de workflows
  2. Ejecución de pruebas con GitHub Actions
  3. Linting y comprobaciones de calidad del código
  4. Almacenamiento en caché de dependencias para compilaciones más rápidas
← Volver a CI/CD with GitHub Actions & DevOps Pipelines