Conocimientos y habilidades que adquieres realizando este curso

  • Aprenderás que es Refactoring.
  • Conocerás el concepto de código limpio y su importancia.
  • Conocerás cuando y como hacer Refactoring.
  • Identificar código a Refactorizar.
  • Conocer una serie de técnicas para generar código limpio.

Temario

Introducción 35m

  • Code Smells to Refactor

    3m
  • Refactoring techniques

    4m
  • Bloaters

    14m
  • Object Orientation Abusers

    8m
  • Change Preventers

    6m
  • Dispensables

    14m
  • Couplers

    7m
  • Other Smells

    2m
  • Extract Method

    2m
  • Inline Method

    2m
  • Extract Variable (vista previa)

    2m
  • Inline Temp

    2m
  • Replace Temp with Query

    2m
  • Split Temporary Variable

    3m
  • Remove Assignments to Parameters

    2m
  • Replace Method with Method Object

    3m
  • Substitute Algorithm

    3m
  • Move Method

    2m
  • Move Field

    2m
  • Extract Class

    5m
  • Inline Class

    2m
  • Hide Delegate

    2m
  • Remove Middle Man

    1m
  • Introduce Foreign Method

    3m
  • Introduce Local Extension

    2m
  • Self Encapsulate Field

    3m
  • Replace Data Value with Object

    2m
  • Change Value to Reference

    2m
  • Change Reference to Value

    2m
  • Replace Array with Object

    2m
  • Duplicate Observed Data

    2m
  • Change Unidirectional Association to Bidirectional

    2m
  • Change Bidirectional Association to Unidirectional

    1m
  • Replace Magic Number with Symbolic Constant

    3m
  • Encapsulate Field

    1m
  • Encapsulate Collection

    1m
  • Replace Type Code with Class

    3m
  • Replace Type Code with Subclasses

    2m
  • Replace Type Code with State-Strategy

    2m
  • Replace Subclass with Fields

    2m
  • Decompose Conditional

    3m
  • Consolidate Conditional Expression

    2m
  • Consolidate Duplicate Conditional Fragments

    2m
  • Remove Control Flag

    2m
  • Replace Nested Conditional with Guard Clauses

    3m
  • Replace Conditional with Polymorphism

    3m
  • Introduce Null Object

    2m
  • Introduce Assertion

    3m
  • Rename Method

    3m
  • Add Parameter

    3m
  • Remove Parameter

    3m
  • Separate Query from Modifier

    4m
  • Parameterize Method

    2m
  • Replace Parameter with Explicit Methods

    2m
  • Preserve Whole Object

    2m
  • Replace Parameter with Method Call

    2m
  • Introduce Parameter Object

    3m
  • Remove Setting Method

    2m
  • Hide Method

    2m
  • Replace Constructor with Factory Method

    2m
  • Replace Error Code with Exception

    3m
  • Replace Exception with Test

    1m
  • Pull up Field

    2m
  • Pull up Method

    1m
  • Pull Up Constructor Body

    1m
  • Push Down Method

    1m
  • Push Down Field

    1m
  • Extract Subclass

    2m
  • Extract Superclass

    1m
  • Extract Interface

    1m
  • Collapse Hierarchy

    2m
  • Form Template Method

    2m
  • Replace Inheritance with Delegation

    2m
  • Replace Delegation with Inheritance

    6m
  • Naming

    6m
  • Variables

    9m
  • Functions

    10m
  • Objects, Data Structures and Classes

    5m
  • Testing

    14m
  • Concurrency

    3m
  • Error Handling

    5m
  • Comments

    10m

Relacionado

Te dejamos una selección de cursos, carreras y artículos

Comentarios en el código: sí o no- Refactoring & Clean Code

Comentarios en el código: sí o no- Refactoring & Clean Code

Metodologías y herramientas

05 de Diciembre de 2019

En esta ocasión hablamos de un tema realmente controvertido y que genera bastante polémica entre los programadores, como es el caso de los comentarios dentro del código, ¿son realmente necesarios?

Programador full stack MEAN

Programador full stack MEAN

carrera

Incluye 8 cursos:

  • Curso Online de MongoDB
  • Curso de Angular 4
  • Curso de JavaScript Profesional

y 5 cursos más!

Duración: 43 horas y 33 minutos

Curso de Clean Code

curso

Curso de Clean Code

curso

Con este curso aprenderás:

  • Introducción a Clean Code
  • Control de versiones con GIT
  • Pruebas unitarias con jUnit

Duración: 4 horas y 25 minutos

Preguntas Frecuentes

En OpenWebinars no vendemos cursos o talleres unitarios.

Tenemos diferentes tipos de suscripciones, que te dará acceso completo a todos los cursos de la plataforma y a los nuevos que vamos lanzando, siempre y cuando tu suscripción esté activa (como Spotify con la música o Netflix con las películas y series).

¿Eres una empresa? Tenemos planes especiales para tí. Consúltanos aquí.

En OpenWebinars los cursos no tienen fecha de inicio y de final.

Cada curso tiene una fecha de publicación y desde ese día estarán 100% disponible todos los contenidos del curso para los usuarios suscritos a alguno de nuestro planes.

Si estás suscrito al plan Profesional o VIP, en todos los cursos existe un examen final para evaluar tus conocimientos adquiridos. Si superas este examen con más de un 80% de preguntas correctas obtendrás el diploma de certificación. Puedes realizar un intento cada 24 horas.

Este diploma es un certificado privado emitido por OpenWebinars, y valorado en el mundo empresarial, ya que tenemos grandes compañías clientes que se forman con nosotros y valoran nuestras certificaciones.

No olvides poner tu certificación en tu perfil Linkedin y en tu currículum.

Descripción

Este curso de refactoring y clean code te permitirá conocer importantes conceptos y aprender a aplicar técnicas y buenas prácticas con las que generar un código limpio, para evitar desarrollar un código sucio y todos los problemas que el mismo conlleva.

Si estás interesado en realizar este curso de una forma correcta, lo más adecuado es que poseas conocimientos en algún lenguaje de programación orientado a objetos, preferiblemente C#, aunque puede servir cualquier otro, ya que los ejemplos que se utilizarán son bastante entendibles.

En caso de no cumplir este requisito o de querer aprender previamente el lenguaje C#, puedes realizar nuestro curso de C# para principiantes, que encontrarás aquí en OpenWebinars, dentro de tu suscripción, y que te permitirá comenzar a dominar ese lenguaje desde cero.

Además, es muy interesante tener conocimientos sobre patrones de diseño y sobre los principios SOLID de desarrollo, que igualmente, si no es tu caso, podrás aprender realizando el curso de SOLID y patrones de diseño, impartido por el mismo tutor de este curso de clean code.

Para comenzar la formación el tutor ha preparado un bloque introductorio, en el que realizará una primera toma de contacto con la temática del curso, de forma que vayas conociendo algunos conceptos básicos e importantes.

Durante el mismo se explicará qué es el código sucio, qué es el código limpio y sus ventajas, qué son los code smells, qué es el refactoring o proceso de refactorización, cómo y cuándo realizarlo y qué técnicas y métodos de refactoring podemos utilizar, qué es la deuda técnica o technical debt y sus causas, entre otras cosas.

A partir de esta interesante e importante introducción, el profesor del curso irá desarrollando los demás bloques en los que ha seccionado el curso.

En el siguiente apartado y durante las diferentes lecciones que lo forman, aprenderás a detectar diferentes tipos de code smells, como son los de tipo bloaters, object orientation abusers, change preventers, dispensables y couplers, y cómo y corregir y prevenir cada uno de esos tipos.

A continuación, se explicarán las técnicas de refactorización más importantes, como son las técnicas extract method, inline method, extract variable, inline temp, replace temp with query, split temporary variable, remove assignments to parameters, replace method with method object y substitute algorithm.

Seguidamente pasaremos a desarrollar otro tipo de técnicas, que en este caso serán las técnicas de refactorización que permiten mover características entre objetos. Aquí aprenderás a utilizar las técnicas move method, move field, extract class, inline class, hide delegate, remove middle man, introduce foreign method e introduce local extensión.

En el bloque posterior aprenderás a usar las técnicas de refactorización centradas en la organización de datos, cómo las técnicas self encapsulate field, replace data value with object, change value to reference, change reference to value, replace array with object, duplicate observed data, change unidirectional association to bidirectional, change bidirectional association to unidirectional, replace magic number with symbolic constant, encapsulate field, encapsulate collection, replace type code with class, replace yype code with subclases, replace type code with state-strategy y replace subclass with fields.

El profesor del curso continuará con la exposición de las técnicas de refactoring para la simplificacion de expresiones condicionales, cómo son decompose conditional, consolidate conditional expression, consolidate duplicate conditional fragments, remove control flag, replace nested conditional with guard clauses, replace conditional with polymorphism, introduce null object e introduce assertion.

El siguiente tipo de técnicas de refactorización del código que aprenderás a aplicar será el de la simplificación de la llamada a método, que son rename method, add parameter, remove parameter, separate query from modifier, parameterize method, replace parameter with explicit methods, preserve whole object, replace parameter with method call, introduce parameter object, remove setting method, hide method, replace constructor with factory method, replace error code with exception y replace exception with test.

Llegamos al último apartado dedicado a las técnicas de refactorización, en el que se exponen las técnicas relacionadas principalmente con poder mover las funcionalidades a lo largo de jerarquía de herencia de clases.

Las técnicas que aquí se van a explicar son pull up field, pull up method, pull up constructor body, push down method, push down field, extract subclass, extract superclass, extract interface, collapse hierarchy, form template method, replace inheritance with delegation y replace delegation with inheritance.

Para finalizar el curso se verá una guía de principios o pautas para generar un código limpio, que te permitirán generar un código más legible, más reutilizable y más refactorizable a futuro. En las clases que componen este apartado final verás todos estos consejos agrupados por las diferentes partes del código.

Una vez hayas concluido este curso clean code, serás capaz de identificar ciertos tipos de problemas que hacen que el código sea menos mantenible a fututo y más costoso hacer cambios en el mismo, tanto en un código que hayas desarrollado previamente, como en un código que hayas heredado de otra persona.

* Requisitos del Curso

Para realizar este curso es necesario tener conocimientos de algún lenguaje orientado a objetos. Los ejemplos de código serán en C#, pero la teoría es aplicable a cualquier lenguaje

Estas son algunas de las empresas que ya confían en OpenWebinars

Profesores y profesionales

Nuestros docentes son profesionales que trabajan día a día en la materia que imparten

Conviértete en profesor de OpenWebinars