ED04.- Optimización y documentación.

Orientaciones para el alumnado

Esta es la cuarta unidad del modulo. En ella aprenderás técnicas que ayudan a mejorar la calidad del software que se está desarrollando. Conocerás diferentes técnicas de refactorización y análisis estático de código, que formando parte del entorno de desarrollo que utilizas, mejoran el código.

Dado el trabajo en equipo que supone el trabajo de programación, conocerás y utilizarás herramientas de control de versiones de tu entorno de desarrollo, para gestionar los proyectos y ficheros que vas realizando y modificando.

Por último, deberás valorar la importancia de la documentación en el software, insertando comentarios siguiendo las pautas que marca el lenguaje de programación en el que se desarrollan.

Datos generales de la Unidad de Trabajo
Nombre completo del MP Entornos de desarrollo. Siglas MP ED
y título de la UT 04.- Optimización y documentación.
Índice o tabla de contenidos
  1. Refactorización.
    1. Concepto.
    2. Limitaciones.
    3. Patrones de refactorización más habituales.
    4. Refactorización en Eclipse
      1. Renombrar.
      2. Mover.
      3. Cambiar signatura del método.
      4. Extraer variable local.
      5. Extraer constante.
      6. Convertir variable local en atributo.
      7. Extraer método.
      8. Incorporar.
      9. Autoencapsular atributo.
    5. Analizadores de código.
      1. Instalación de PMD.
      2. Configuración.
  2. Control de versiones.
    1. Tipos de herramientas de control de versiones. 
    2. Estructura de herramientas de control de versiones.
      1. Repositorio.
      2. Gestión de versiones y entrega.
    3. Herramientas de control de versiones.
    4. Planificación de la gestión de configuraciones.
    5. Gestión del cambio.
  3. Documentación.
    1. Uso de comentarios.
    2. Documentación de clases.

Anexo I.- Repositorio CVS.

Anexo II.- Clientes de Control de Versiones en Netbeans.

Anexo III.- GIT.

  1. Terminología.
  2. Escenario de trabajo con GIT.
  3. Flujo de trabajo.
  4. Resumen de comandos GIT.
  5. Gitk.

Anexo IV.- Práctica de refactorización en Eclipse.

  1. Enunciado.
  2. Solución de la práctica.

Anexo V.- Práctica con GIT.

  1. Puesta en marcha.
  2. Trabajando en el repositorio local - consola.
  3. Trabajando en el repositorio local - Eclipse.
  4. Gestión de conflictos - 1.
  5. Gestión de conflictos - 2.
  6. Comandos Git, Status, Log.

Anexo VI.- Práctica con GitHub.

  1. Alta de cuenta en GitHub.
  2. Crear un repositorio.
  3. Carga de información en el repositorio HolaMundoGit de GitHub.
  4. Descarga del repositorio HolaMundoGit de GitHub a un repositorio local de consola.

Anexo VII.- Práctica: JavaDoc con Eclipse.

Anexo VIII.- Licencias de Recursos.

Objetivos
  • Conocer los patrones más habituales de refactorización de código que se utilizan, y su utilización mediante el entorno de desarrollo donde se esté programando.
  • Conocer el concepto y fin de un analizador de código, instalando y usando alguno en el entorno de desarrollo.
  • Realizar la documentación en código, del proceso de implementación y refactorización de código.
Temporalización
(estimación)
Tiempo necesario para estudiar los contenidos (h) 6
Tiempo necesario para completar la tarea (h) 8
Tiempo necesario para completar el examen (h) 1
de días que se recomienda dedicar a esta unidad 9
La temporalización anterior no deja de ser una estimación media, ya que el tiempo a invertir va a depender mucho de las circunstancias personales de cada cual.
Consejos y recomendaciones
  • La primera parte de la unidad es muy teórica, por lo que hay que prestar atención a los conceptos y procedimientos que se presentan.
  • Para poder entender el concepto de refactorización, debes tener ya, alguna soltura en la implementación de código, y en el uso del entorno de desarrollo.
  • Debes tener soltura en la búsqueda e instalación de complementos de software libre en su entorno de desarrollo.
  • Debes de haber realizado alguna aplicación que suponga una continua revisión, creando diferentes versiones, para que utilice herramientas como CVS o Subversion, para la automatización de las diferentes versiones generadas.