Parte 2 - Tema 6 Flashcards
Entornos de desarrollo integrados
¿Qué es un IDE?
n IDE es una aplicación de software que proporciona un entorno completo para desarrollar software. Combina un editor de código, herramientas de construcción, depurador y otras utilidades en una sola interfaz.
¿Cuáles son las principales características de un IDE?
- Editor de código con resaltado de sintaxis, autocompletado y refactorización.
- Compilador o intérprete integrado.
- Depurador para encontrar y corregir errores.
- Herramientas de control de versiones (Git, SVN).
- Integración con sistemas de construcción (Make, Ant).
Ventajas de Utilizar un IDE
- Aumento de la productividad: Automatiza tareas repetitivas y proporciona herramientas para escribir código más rápido y con menos errores.
- Facilidad de uso: Ofrece una interfaz unificada para todas las herramientas de desarrollo.
- Mejora de la calidad del código: Ayuda a escribir código más limpio y consistente gracias a las funciones de refactorización y análisis de código.
Componentes Clave de un IDE
- Editor de código: Permite escribir, editar y navegar por el código fuente.
- Depurador: Ayuda a identificar y corregir errores en el código.
- Compilador o intérprete: Convierte el código fuente en código máquina o bytecode.
- Explorador de proyectos: Organiza los archivos y carpetas del proyecto.
¿Qué es un Sistema de Gestión de Código Fuente (SGCS)?
Un SGCS es una herramienta que permite a los desarrolladores rastrear y controlar los cambios en el código fuente a lo largo del tiempo. Facilita la colaboración en equipos y ayuda a gestionar múltiples versiones de un proyecto.
¿Cuáles son los componentes principales de un SGCS?
- Repositorio: Un almacén central donde se guarda todo el código fuente.
- Versiones: Diferentes estados del código a lo largo del tiempo.
- Ramas: Copias independientes de una base de código que permiten trabajar en diferentes funcionalidades sin afectar el código principal.
- Commits: Cambios individuales realizados al código.
Ventajas de Utilizar un SGCS
- Colaboración: Permite a múltiples desarrolladores trabajar en el mismo proyecto de forma simultánea.
- Historial de cambios: Guarda un registro completo de todos los cambios realizados, facilitando la auditoría y la recuperación de versiones anteriores.
- Control de versiones: Permite gestionar diferentes versiones del código y combinar cambios de forma segura.
- Resolución de conflictos: Ayuda a resolver conflictos cuando múltiples desarrolladores modifican el mismo archivo.
- Backup: Actúa como una copia de seguridad del código fuente.
¿Cuáles son los SGCS más utilizados?
- Git: El SGCS más popular, distribuido y utilizado en la mayoría de los proyectos de código abierto.
- Subversion (SVN): Un SGCS centralizado, más antiguo pero aún ampliamente utilizado.
- Mercurial: Otro SGCS distribuido, similar a Git.
- Perforce: Un SGCS escalable diseñado para grandes equipos y proyectos.
¿Cuáles son algunos comandos básicos de Git?
- git init: Inicializa un nuevo repositorio.
- git clone: Clona un repositorio existente.
- git add: Agrega cambios al área de preparación.
- git commit: Guarda los cambios en el repositorio local.
- git push: Envía los cambios al repositorio remoto.
- git pull: Obtiene los cambios más recientes del repositorio remoto.
- git branch: Crea, lista o elimina ramas.
- git merge: Combina ramas.
¿Qué es la Integración Continua (CI)?
La CI es una práctica de desarrollo de software donde los desarrolladores integran su código con frecuencia en un repositorio compartido. Cada integración se verifica a través de una compilación automática para detectar errores lo antes posible.
¿Cuáles son los beneficios de la CI?
Detección temprana de errores, mejora de la calidad del código, reducción del tiempo de salida al mercado, mayor colaboración entre el equipo y menor riesgo de problemas en la integración.
¿Cuáles son las etapas típicas de un proceso de CI?
- Desarrollador realiza cambios en el código.
- Los cambios se envían al repositorio de código fuente.
- Se activa un proceso de construcción automatizado.
- Se ejecutan pruebas unitarias, de integración y otras pruebas automatizadas.
- Si todas las pruebas pasan, se genera un artefacto (por ejemplo, un paquete o una imagen de contenedor).
- El artefacto se despliega en un entorno de pruebas o producción.
¿Cuáles son algunas herramientas populares de CI?
- Jenkins: Una herramienta de CI de código abierto altamente configurable y personalizable.
- GitLab CI/CD: Integrado con GitLab, ofrece una solución completa para CI/CD.
- CircleCI: Una plataforma de CI en la nube con una interfaz fácil de usar.
- Travis CI: Una plataforma de CI en la nube enfocada en proyectos de código abierto.
- Bamboo: Una solución de CI/CD empresarial ofrecida por Atlassian.
¿Qué componentes suelen incluirse en un pipeline de CI?
- Etapa de construcción: Compilación del código fuente.
- Etapa de pruebas: Ejecución de pruebas unitarias, de integración y otras pruebas automatizadas.
- Etapa de empaquetado: Creación de artefactos para su despliegue.
- Etapa de despliegue: Despliegue del artefacto en diferentes entornos (desarrollo, pruebas, producción).
¿Cuáles son algunas prácticas recomendadas para implementar CI?
- Automatizar todo lo posible.
- Mantener pruebas unitarias exhaustivas.
- Integrar la CI con otros procesos como el control de versiones y la gestión de la configuración.
- Monitorear continuamente el pipeline de CI.