Matlab

Herramientas para la refactorización en MATLAB

La refactorización es una parte fundamental del desarrollo de código para garantizar que este sea más legible y mantenible. Mediante la mejora de su estructura sin cambiar el comportamiento. En esta entrada, se analizarán las herramientas nativas que existen para la refactorización en MATLAB, con las que se puede convertir cualquier bloque de código en una función local o guardar en un archivo.

¿Qué es la refactorización de código?

La refactorización de código es un proceso mediante el cual se reestructura este sin cambiar su funcionalidad. Mejorando en el proceso la legibilidad, la mantenibilidad y la eficiencia del código, lo que conduce a soluciones de software más robustas y escalables. Siendo un proceso que se puede hacer manualmente, aunque los editores modernos incluyen funcionalidades con los que se puede automatizar el proceso.

¿Dónde encontrar la funcionalidad de refactorización en MATLAB?

La funcionalidad de refactorización de código se encuentra integrada en el editor de MATLAB. Se puede acceder a estas herramientas desde la pestaña ”Editor” en la barra de herramientas principal, y luego seleccionar ”Refactor”. Actualmente existen dos o opciones “Convert to Function” y “Convert to Local Function”, con las que se puede convertir cualquier pedazo de código en una función o función local respectivamente.

Funciones disponibles en MATLAB para la refactorización de código.

Convertir código en una función

La principal tarea de refactorización que automatizan las herramientas de Matlab en la extracción de funciones. Proceso por el que se puede convertir cualquier trozo de código en una función para que este se pueda reutilizar de forma sencilla. Facilitando la división del código en funciones más pequeñas y manejables, lo que mejora la modularidad y la reutilización del código.

Ejemplo: extraer una función local

Supongamos que tenemos una sección de código en la que se calcula el área de un círculo.

% Código original
radio = 5;
area = pi * radio^2;

En este caso, se podría refactorizar el código extrayendo una función para calcular el área del círculo. Aunque es un ejemplo pequeño, esto permite contar con una función que simplifique su reutilización. Los pasos para hacer esto seria:

  1. Selecciona el fragmento de código que calcula el área del círculo.
  2. Ir a la pestaña ”Editor”, pulsar sobre ”Refactor” y seleccionar la opción “Convert to Local Function”.
  3. En este punto el editor creará una función llamada untitled() cuyo nombre se puede renombrar a algo más significativo como calcularAreaCirculo().
Extracción del código en una función local con el nombre por defecto
  1. En este caso es necesario, como el valor area no se usa a continuación, la herramienta de refactorización no incluye la devolución del valor. Por lo que se debe revisar e indicar los parámetros que se necesita que sean devueltos por la función.
Extracción del código en una función local tras su renombrado e indicar el resultado que se van a devolver

Ejemplo: obtener una función

Alternativamente se puede crear una función en un archivo m para poder reutilizar este código en cualquier parte. En este caso la única diferencia es que al llamar al usar la función “Convert to Function se pide el nombre y la ruta del archivo.

Extracción la función en un archivo para su reutilización

Conclusiones

Las herramientas para la refactorización en MATLAB permiten mejorar la calidad del código de una forma eficaz. Aunque solamente existen herramientas para extraer funciones, no existe una función para renombrado de variables o funciones como en editores más avanzados, es algo que puede ser de ayuda cuando la complejidad de las funciones crece y se debe dividir estas en pedazos de código más manejables.

Imagen de Vilius Kukanauskas en Pixabay

¿Te ha parecido de utilidad el contenido?

Daniel Rodríguez

Share
Published by
Daniel Rodríguez

Recent Posts

Gini, KS y AUC: Cómo Medir la Calidad de un Modelo de Credit Scoring

Cuando un analista de riesgo presenta un nuevo scorecard ante el comité de dirección, la…

25 minutos ago

Curiosidad: De dónde vienen foo, bar y foobar

Si revisáis código o documentación de otros programadores, tarde o temprano os toparéis con dos…

5 días ago

BG/NBD + Gamma/Gamma: el modelo probabilístico para CLV en compras continuas

Los dos artículos anteriores cubrieron el CLV clásico —una fórmula útil pero que trata a…

1 semana ago

Errores habituales al trabajar con DataFrames grandes en Pandas (y cómo evitarlos)

Hay un momento muy concreto en la vida de casi todo análisis: el código que…

2 semanas ago

Champion vs Challenger: Cómo los Bancos Validan Modelos Nuevos antes de Ponerlos en Producción

Has construido un nuevo modelo de credit scoring. Las métricas de validación son mejores que…

2 semanas ago

Cómo Comparar Dos Hipotecas con Todos los Gastos Incluidos

Comparar dos hipotecas parece sencillo: la que tenga el TIN más bajo es la mejor…

3 semanas ago

This website uses cookies.