Chismes del Lince · MonteSteam · IES Monterroso · Programación y Computación

El Halcón del Lince: control de versiones y desarrollo iterativo

Un programa no se escribe de golpe: se construye en versiones pequeñas, se prueba cada una y se guarda. En esta página vas a levantar paso a paso la clase Halcon, un hidrodrón simulado, desde la clase vacía hasta la versión 1.0, en cinco pasos y Al final trabajarás en equipo con ramas y resolverás un conflicto de fusión. Python se ejecuta en tu navegador y no se envía ni se guarda nada fuera de él.

Antes de empezar: tres ideas

1. Desarrollo iterativo

En lugar de escribir todo el programa y probarlo al final, se hacen vueltas cortas (iteraciones): planificar un trozo, programarlo, probarlo y, si falla, corregirlo. Cada vuelta deja una versión que funciona.

📖 Metodologías de desarrollo

Cascada: fases una detrás de otra (análisis, diseño, programación, pruebas). Si algo falla al final, hay que volver atrás entero.

Iterativa e incremental: se repiten ciclos cortos y el programa crece en cada uno, como el Halcón de esta página.

Ágil (Scrum, Kanban): iteraciones cortas (sprints), una lista de tareas pendientes, reuniones breves y entregas frecuentes que se enseñan al cliente para corregir el rumbo.

2. Control de versiones

Sin él acabas con halcon_final.py, halcon_final_2.py y halcon_ahora_si.py. Un sistema como Git guarda el historial: cada commit es una foto del proyecto con un mensaje que explica el cambio, y se puede volver a cualquiera.

📖 Las órdenes básicas de Git
  • git init crea un repositorio.
  • git add y git commit -m "…" guardan una versión.
  • git log muestra el historial; git diff, los cambios.
  • git switch o git checkout cambia de versión o de rama.
  • git branch crea una rama; git merge la fusiona.
  • git push y git pull sincronizan con un servidor como GitHub o GitLab.

3. Trabajo en equipo

Cada persona trabaja en su rama sin romper la de los demás y después se fusionan. Si dos personas tocan el mismo sitio, Git no puede decidir y aparece un conflicto: lo resuelve una persona, hablando con la otra.

📖 Buenas costumbres

Commits pequeños con mensajes claros, probar antes de guardar, revisar el código de los compañeros (pull request) y repartir tareas con una lista de pendientes (issues).

Esta página simula Git para que lo veas sin instalar nada. Git de verdad funciona igual, pero con órdenes en un terminal y con tus propios archivos; en el instituto se puede practicar con GitHub o GitLab.

Tu repositorio: halcon.py

línea nueva · línea quitada · línea que se está ejecutando

Cargando Python en tu navegador (unos 10 MB, solo la primera vez)…

El Halcón que acabó en un pinsapo

Lince de la Noche: Gata, el primer Halcón lo escribí entero en una noche: despegar, avanzar, soltar agua, volver… Ayer lo probé por primera vez. Se estrelló contra un pinsapo.

Gata Montesa: ¿Y no tienes la versión anterior?

Lince de la Noche: …Guardé encima de la anterior. Y no recuerdo qué cambié.

Gata Montesa: Pues empecemos de cero y hagámoslo bien: un método cada vez, una prueba para cada método y una copia guardada de cada versión que funcione.

HALCÓN significa Hidrodrones Aéreos del Lince contra CONatos. En esta página todo es simulado. Ante un fuego real se llama al 112: ningún alumno apaga nada, ni con drones ni sin ellos.

Sierra Bermeja en directo

Paso

    ① El código que hay que escribir

    ② La misión: pruébalo

    Esperando órdenes.

    
            
          

    ③ Guarda la versión (commit)

    Historial (git log)

    Cada commit guarda una versión completa. Pulsa «Ver cambios» para ver qué añadió y «Probar esta versión» para ejecutarla tal como era.

      El «código» de cada commit es un resumen del contenido: en Git real es un SHA-1 que depende del contenido, del autor y del commit anterior.

      ★ Misión de equipo: ramas y fusión

      Comprueba lo que sabes

      Informe del equipo de desarrollo

      Supera los pasos que puedas, escribe tus conclusiones e imprime el informe (o guárdalo como PDF). Tu nombre solo se queda en esta página.

      VersiónCommitCódigo

      Glosario

      Palabras de este chisme
      • Iteración: cada vuelta corta de planificar, programar y probar.
      • Metodología ágil: forma de trabajar con iteraciones cortas, entregas frecuentes y adaptación al cambio.
      • Repositorio: carpeta del proyecto con todo su historial.
      • Commit: versión guardada del proyecto, con un mensaje que explica el cambio.
      • Diff: diferencias entre dos versiones.
      • Rama (branch): línea de trabajo independiente dentro del repositorio.
      • Fusión (merge): unir los cambios de una rama con otra.
      • Conflicto: dos ramas cambiaron el mismo sitio y Git no sabe cuál conservar.
      • Depuración: encontrar y corregir un fallo.
      • Remoto: copia del repositorio en un servidor (GitHub, GitLab) para compartirlo.