Contenidos
- Refactorización. Concepto. Limitaciones. Patrones de refactorización más usuales. Refactorización y pruebas. Herramientas de ayuda a la refactorización
- Control de versiones. Estructura de las herramientas de control de versiones. Repositorio. Herramientas de control de versiones
- Documentación. Uso de comentarios. Alternativas
Refactorización. Concepto. Limitaciones. Patrones de refactorización más usuales. Refactorización y pruebas. Herramientas de ayuda a la refactorización
La refactorización consiste en aplicar transformaciones en el código para mejorar la estructura sin que cambie el comportamiento ni la funcionalidad del programa. El objetivo que se persigue es mejorar la estructura interna y limpiar el código para minimizar la aparición de errores.
Hay una pequeña diferencia respecto a la optimización, cuando se optimiza, se persigue una mejora en el rendimiento, por ejemplo mejorar la velocidad de ejecución de la aplicación.
Patrones de refactorización:
- Renombrado de clase, método, paquete, etc.
- Sustituir bloques de código por un método.
- Mover clases de un paquete a otro.
- Realizar borrado seguro.
Analizadores de código: los analizadores reciben un código fuente y lo procesan para mostrar posibles mejoras.
Ejercicio
Prueba de concepto simple de refactorización: pedir a 10 usuarios que cumplimenten unos datos siempre y cuando la edad lo permita
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 |
# Código simple para cada usuario # Usuario 1 [Int]$e = Read-Host "Introduzca la edad" if($e -le 30) { if($e -ge 25) { "Puedes optar a la beca" } else { "Puedes optar a la beca si sabes leer" } } else { "No optas a nada" } "Cumplimentar datos" # Usuario 2 [Int]$e = Read-Host "Introduzca la edad" if($e -le 30) { if($e -ge 25) { "Puedes optar a la beca" } else { "Puedes optar a la beca si sabes leer" } } else { "No optas a nada" } "Cumplimentar datos" # Usuario 3 [Int]$e = Read-Host "Introduzca la edad" if($e -le 30) { if($e -ge 25) { "Puedes optar a la beca" } else { "Puedes optar a la beca si sabes leer" } } else { "No optas a nada" } "Cumplimentar datos" ########################################## ########################################## # Parte 1 ########################################## ########################################## ########################################## # -Nombre variable ########################################## # Usuario 1 [Int]$edad = Read-Host "Introduzca la edad" if($edad -le 30) { if($edad -ge 25) { "Puedes optar a la beca" } else { "Puedes optar a la beca si sabes leer" } } else { "No optas a nada" } "Cumplimentar datos" ########################################## # -If ########################################## [Int]$edad = Read-Host "Introduzca la edad" switch($edad) { {$_ -ge 0 -and $_ -le 24}{"Puedes optar a la beca si sabes leer"} {$_ -ge 25 -and $_ -le 30}{"Puedes optar a la beca"} {$_ -ge 31 -and $_ -le 100}{"No optas a nada"} } "Cumplimentar datos" ########################################## # -Repetir código ########################################## do { [Int]$edad = Read-Host "Introduzca la edad" switch($edad) { {$_ -ge 1 -and $_ -le 24}{"Puedes optar a la beca si sabes leer"} {$_ -ge 25 -and $_ -le 30}{"Puedes optar a la beca"} {$_ -ge 31 -and $_ -le 100}{"No optas a nada"} } "Cumplimentar datos" }while($edad -ne 0) ########################################## ########################################## # Parte 2 ########################################## ########################################## ########################################## # -Función ########################################## function comprobar($edad) { switch($edad) { {$_ -ge 1 -and $_ -le 24}{"Puedes optar a la beca si sabes leer"} {$_ -ge 25 -and $_ -le 30}{"Puedes optar a la beca"} {$_ -ge 31 -and $_ -le 100}{"No optas a nada"} } } do { [Int]$edad = Read-Host "Introduzca la edad" comprobar($edad) }while($edad -ne 0) |
Control de versiones. Estructura de las herramientas de control de versiones. Repositorio. Herramientas de control de versiones
Para gestionar las distintas versiones que se van generando durante el desarrollo de una aplicación se utilizan las herramientas de Control de Versiones.
Los sistemas de Control de Versiones están formados por:
- Repositorios
- Módulos
- Revisión
- Etiquetas
- Rama
Algunas de las órdenes que se pueden ejecutar sobre un sistema de Control de Versiones son:
- Checkout
- Update
- Commit
- Abort
Documentación. Uso de comentarios. Alternativas
Documentar un código sirve para explicar el funcionamiento del mismo, punto por punto, de forma que cualquier persona que acceda a la información podrá entender la finalidad del código.