Software Refactoring en Java

Mejorando la mantenibilidad del Código de una Aplicación de Java un paso a la vez.

4.00 (49 reviews)
Udemy
platform
Español
language
Software Engineering
category
172
students
2 hours
content
Oct 2017
last update
$19.99
regular price

What you will learn

Entender qué es el Refactoring y para qué sirve.

Cómo aplicar las Técnicas de Refactoring en proyectos reales de desarrollo en Java.

Cómo evitar inyectar defectos al aplicar las técnicas de Refactoring.

Cómo mejorar la estructura de nuestro código de forma metódica.

Cómo ayudar a minimizar los tiempos para agregar nueva funcionalidad, modificarla o resolver defectos.

Cómo reconocer cuando se necesita aplicar Refactoring.

Cómo usar Eclipse para aplicar varias técnicas de Refactoring.

Description

"Software Refactoring en Java (mejorando el código, un paso a la vez)" es un curso en donde veremos cómo tomar un código existente en Java y mejorarlo.

Al decir "mejorarlo" no me refiero a hacerlo más rápido, sino a cómo mejorar su estructura y con ello hacerlo más fácil de entender y modificar; para que sea más fácil agregar nueva funcionalidad, o sea más sencillo la corrección de defectos existentes.

Es decir, los costos de mantenimiento después de un refactoring son más bajos comparados con los costos de ese mismo mantenimiento sino hacemos refactoring.

También aprenderemos a usar un conjunto de herramientas que nos ayudaran a automatizar parte de las tareas del Refactoring.

Veremos a qué se le conoce con el término de "Bad Smell" en el código, y cómo la presencia de ellos es la señal para cuándo hacer refactoring y qué Técnica es la adecuada en cada situación.

Al aplicar estas sencillas pero potentes técnicas en tu trabajo diario como programador, te ayudarán a mejorar de forma sustantiva tu productividad y calidad del software que produzcas.

Content

Introduction

Introduction
¿Para qué es este curso?
¿Para quién está dirigido este curso?
¿Qué es el Refactoring?
¿Qué NO es el Refactoring?
¿Cuándo debemos hacer Refactoring?
¿Cuándo NO Refactorizar el código?
Cuando algo en el código "No huele bien"
El Ciclo de Refactoring
Las Técnicas de Refactoring

Técnicas para Organizar Datos

Técnicas para Organizar Datos
Reemplazar Número Mágico por Constante
Encapsular Campo
Reemplazar Arreglo por Objeto

Técnicas de Composición de Métodos

Técnicas de Composición de Métodos
Extraer Método
Unificar Método

Caso de Estudio

Caso de Estudio
Instalar Eclipse
Nuevos Requerimientos 1
Descargar Código de la Aplicación a Refactorizar
Ciclo 1: Identificar Code Smell y Técnica de Refactoring a usar
Cliclo 1: 1er Caso de Prueba Automatizadado
Ciclo 1: 2do Caso de Prueba Automatizado
Ciclo 1: 3er Caso de Prueba Automatizado
Ciclo 1: 4to Caso de Prueba Automatizado
Ciclo 1: 5to Caso de Prueba Automatizado
Ciclo 1: 6to Caso de Prueba Automatizado
Ciclo 1: 7to Caso de Prueba Automatizada
Ciclo 1: 8vo Caso de Prueba Unitaria
Nuevos Requerimientos 2 y 3
Cliclo 1: Extraer Método calcularImporteRenta()

Técnicas que agregan variables temporales

Técnicas que agregan variables temporales
Dividir una variable temporal
Agregar una variable explicativa
No cambiar el valor de los parámetros

Técnicas que mueven funcionalidad

Técnicas que mueven funcionalidad
Mover Método
Ciclo 2: Mover Método calcularImporteRenta()
Extraer Clase
Clase Innecesaria
Mover Campo
Ocultar Delegado
Eliminar Intermediario
Ciclo 3: Extraer Método calcularPuntosClienteFrecuente()
Ciclo 4: Mover Método calcularPuntosClienteFrecuente()
Aplicar Requerimiento 1

Técnicas que simplifican las condiciones

Técnicas que simplifican las condiciones
Descomponer una condición
Consolidar condiciones
Consolidar código duplicado en condiciones
Remplazar condiciones con Polimorfismo
Remplazar código por tipo con Subclases

Técnicas que simplifican el llamado de Métodos

Técnicas que simplifican el llamado de Métodos
Preservar todo el Objeto
Remplazar grupo de parámetros con Objeto
Renombrar Método
Quitar Parámetro
Poner Parámetro
Parametrizar Método
Remplazar Parámetro con Métodos explícitos
Separar Consulta del Modificador
Ciclo 5: Mover Método calcularImporte() ahora a la clase Película
Ciclo 6: Mover Método calcularPuntosClienteFrecuente a clase Película

Técnicas relativas a las Jerarquías

Técnicas relativas a las Jerarquías
Generalizar Campo
Generalizar Método
Especializar Campo
Especializar Método
Extraer Súper-Clase
Extraer Sub-Clase
Colapsar Jerarquía
Remplazar Tipo de Objeto con Patrón de Diseño
Ciclo 7: Crear clases del Patrón de Diseño Estado
Ciclo 8: Mover método calcularImporte() a la clase PrecioPelicula
Ciclo 9: Sustituir condiciones por Polimorfismo en calcularImporte()
Ciclo 10: Mover método calcularPuntosClienteFrecuente a clase PrecioPelicula
Ciclo 11: Sustituir condiciones por Polimorfismo en método calcularPuntosCliente

Resúmen del Curso

Código Refactorizado final
Resúmen del Curso

Screenshots

Software Refactoring en Java - Screenshot_01Software Refactoring en Java - Screenshot_02Software Refactoring en Java - Screenshot_03Software Refactoring en Java - Screenshot_04

Reviews

Maikol
April 20, 2022
Hay buenas bases de la refactorización con algunos ejemplos, sin embargo creo que de todo el curso en lo practico solo hay un 30% los demás videos los veo como relleno ya que solo lee y ya, para una próxima oportunidad debería hacer muchísima mas practica con mas ejemplos.
Ale
April 22, 2021
es simple, y rapido sin embargo, son varias técnicas para mejorar, ayuda a ver cosas que antes no veias
Antonio
March 11, 2021
Es una introducción sencilla nada exhaustiva del refactoring. En términos generales está bastante bien como introducción.
Lourdes
September 19, 2020
Un resumen claro del proceso para la refactorización de código y comprensible para quienes necesiten actualizarlo con nuevos cambios y mejoras. Me gusto el orden de como explico el contenido de como realizarlo. Ademas del codigo para ver las diferencias en la optimización del codigo. Excelente trabajo , gracias por los aportes y el contenido.
Jonathan
October 14, 2019
Buen curso, me gustaría ver mas ejemplos prácticos y mas técnicas de refactorizacion, pero el curso da muy buenas bases para poner en practica los conocimientos
Ricardo
September 22, 2019
Excelente curso sobre refactoring, muy bueno ejemplos y en general todo en orden. Me gustaría que se muestren más ejemplos en la vida real.
Normaysel
February 14, 2019
Como desarrolladora, este curso me ha sido muy útil por los diferentes ejemplos prácticos que se explican de manera sencilla, detallada y ambientados, dándome una perspectiva de mejora de mi código en el desarrollo de una aplicación.
Jorge
October 10, 2018
El curso esta bueno, el instructor explica bien. pero a me parece que falto profundidad en el ejercicio de refactorizar usando patrones de diseño.
Roberto
August 15, 2018
Vengo empezando el curso pero las definiciones solo se pasan superficialmente no hay profundidad de cada defición o poder decir que se puede utilizar en tal situación.
Roberto
June 15, 2018
Hasta ahora (mitad de curso) el profesor está desarrollando la teoría. Muy bien: conceptos claros, sonido correcto. Está siendo ameno seguir el curso.
ProHabit
May 1, 2018
Despues de ver los capitulos gratis, me convencí de comprar este curso, he visto otros y no me han gustado tanto. Este me gustó particularmente porque explica todas las tecnicas basicas del refactoring. Pero lo que mas me llamo la atención son los ejercicios que hace con las pruebas unitarias, esto no lo he visto en ningún otro curso.
Jacqueline
January 22, 2018
Me recomendaron este curso mucho un amigo, y la verdad ha cumplido mis expectativas, he visto cómo mi amigo ha mejorado rápidamente su código y yo también quiero aprender las técnicas que él está usando.
Jose
January 20, 2018
Curso demasiado básico aunque bien explicado con ejemplos. Buen curso como toma de contacto con refactoring de aplicaciones Java.
Javier
November 15, 2017
La explicación sobre qué es y para qué sirve el refactoring es muy claro. Me gusta que haya una combinación de explicación de varias técnicas y después práctica en un ejemplo con código. Por fin entendí gracias a este curso cómo se deben usar las pruebas unitarias para validar que el refactoring esta bien hecho. Muy recomendable!

Charts

Price

Software Refactoring en Java - Price chart

Rating

Software Refactoring en Java - Ratings chart

Enrollment distribution

Software Refactoring en Java - Distribution chart

Related Topics

1354528
udemy ID
9/19/2017
course created date
11/23/2019
course indexed date
Bot
course submited by