Extraer Variable.
Tienes una expresión difícil de entender.
Coloca el resultado de la expresión o de sus partes en variables separadas que se expliquen por sí mismas.
##Example
void renderBanner() {
if ((platform.toUpperCase().indexOf("MAC") > -1) &&
(browser.toUpperCase().indexOf("IE") > -1) &&
wasInitialized() && resize > 0 )
{
// hacer algo
}
}void renderBanner() {
final boolean isMacOs = platform.toUpperCase().indexOf("MAC") > -1;
final boolean isIE = browser.toUpperCase().indexOf("IE") > -1;
final boolean wasResized = resize > 0;
if (isMacOs && isIE && wasInitialized() && wasResized) {
// hacer algo
}
}##Why Refactor
La razón principal para extraer variables es hacer más comprensible una expresión compleja, dividiéndola en sus partes intermedias. Estas podrían ser:
-
La condición del operador
if()o una parte del operador?:en los lenguajes basados en C -
Una expresión aritmética larga sin resultados intermedios
-
Líneas largas de varias partes
Extraer una variable puede ser el primer paso hacia la aplicación de Extraer Método si ves que la expresión extraída se utiliza en otros lugares de tu código.
##Benefits
- ¡Código más legible! Intenta dar a las variables extraídas buenos nombres que anuncien su propósito de forma clara y rotunda. Más legibilidad, menos comentarios prolijos. Opta por nombres como
customerTaxValue,cityUnemploymentRate,clientSalutationString, etc.
##How to Refactor
-
Inserta una nueva línea antes de la expresión relevante y declara allí una nueva variable. Asigna parte de la expresión compleja a esta variable.
-
Reemplaza esa parte de la expresión con la nueva variable.
-
Repite el proceso para todas las partes complejas de la expresión.