Refactoring – Visual Studio 2005 Hector Minaya, mcsd.net hminaya@mr2solutions.net MR2 Solutions

Preview:

Citation preview

Refactoring –Visual Studio 2005

Hector Minaya, mcsd.netHector Minaya, mcsd.nethminaya@mr2solutions.nethminaya@mr2solutions.net

MR2 SolutionsMR2 Solutions

www.mr2solutions.netwww.mr2solutions.net

¿Que Cubriremos?¿Que Cubriremos?

Elementos Básicos

Soporte en Visual Studio 2005 – C#

Refactoring y Visual Basic 2005

PrerrequisitosPrerrequisitos

Experiencia de desarrollo utilizando C# Experiencia de desarrollo utilizando C# o Visual Basico Visual Basic

Conceptos básicos sobre Programación Conceptos básicos sobre Programación Orientada a ObjetosOrientada a Objetos

Nivel 200Nivel 200

AgendaAgenda

Elementos BásicosElementos Básicos

Soporte en Visual Studio 2005 – C#Soporte en Visual Studio 2005 – C#

Refactoring y Visual Basic 2005Refactoring y Visual Basic 2005

Elementos BásicosElementos Básicos

¿Que es Refactoring?¿Que es Refactoring? Es el proceso de cambiar la estructura del código Es el proceso de cambiar la estructura del código

existente para mejorar su legibilidad y facilitar el existente para mejorar su legibilidad y facilitar el mantenimiento, de tal forma que no se rompa el mantenimiento, de tal forma que no se rompa el funcionamiento del mismofuncionamiento del mismo

Al alterar su estructura interna no debemos Al alterar su estructura interna no debemos modificar su comportamiento externo.modificar su comportamiento externo.

Independencia de Lenguaje o Independencia de Lenguaje o PlataformaPlataforma Se utiliza en todos los lenguajes de desarrolloSe utiliza en todos los lenguajes de desarrollo

Ejemplo – renombrar métodoEjemplo – renombrar método

Después de Refactorizar:

Antes de Refactorizar:

double calcRngMaxPer() { .... }

double calcularRangoMaximoPermitido() { .... }

Ejemplo – Cambiar numero mágico Ejemplo – Cambiar numero mágico por constantepor constante

Después de Refactorizar:

Antes de Refactorizar:

class CalculoSimple { public static double CalcularCincunferencia(double diametro) { return 3.14 * diametro; } }

class CalculoSimple { public const double PI = 3.14; public static double CalcularCincunferencia(double diametro) { return PI * diametro; } }

Ejemplo – subir métodoEjemplo – subir método

Cuando se debe hacerCuando se debe hacer

Cuando se agrega una nueva Cuando se agrega una nueva funcionalidadfuncionalidad

Al depurar el códigoAl depurar el código

Cuando se esta revisandoCuando se esta revisando

AgendaAgenda

Elementos BásicosElementos Básicos

Soporte en Visual Studio 2005 – C#Soporte en Visual Studio 2005 – C#

Refactoring y Visual Basic 2005Refactoring y Visual Basic 2005

VS2005 & C#VS2005 & C#

Nuevo menú de refactorizaciónNuevo menú de refactorización

DemosDemos Visual Studio 2005 & C#Visual Studio 2005 & C#

RenameRename

Promote Local Variable to ParameterPromote Local Variable to ParameterExtract MethodExtract Method

Encapsulate FieldEncapsulate FieldReorder ParametersReorder Parameters

AgendaAgenda

Elementos BásicosElementos Básicos

Soporte en Visual Studio 2005 – C#Soporte en Visual Studio 2005 – C#

Refactoring y Visual Basic 2005Refactoring y Visual Basic 2005

Refactor! For Visual Basic 2005Refactor! For Visual Basic 2005

Plug-in gratis de Developer Express Inc.Plug-in gratis de Developer Express Inc.

DemosDemosRefactor for Visual Studio 2005 & VBRefactor for Visual Studio 2005 & VB

Encapsulate FieldEncapsulate Field

SplitSplitIntroduce ConstantIntroduce Constant

Extract MethodExtract MethodReorder ParametersReorder Parameters

Recursos en líneaRecursos en línea

Website de Martin FowlerWebsite de Martin Fowlerwww.Refactoring.comwww.Refactoring.com

Refactoring & C#Refactoring & C#http://msdn.microsoft.com/library/default.asp?http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvs05/html/VS05_refac.aspurl=/library/en-us/dnvs05/html/VS05_refac.asp

Refactor Plug-in for VS2005 & VBRefactor Plug-in for VS2005 & VBhttp://www.devexpress.com/Support/http://www.devexpress.com/Support/BestPractices/IDE/Refactor/BestPractices/IDE/Refactor/

Información AdicionalInformación Adicionalwww.mr2solutions.netwww.mr2solutions.net

¿Preguntas?¿Preguntas?

Recommended