Extrair Variável.
Você tem uma expressão difícil de entender.
Coloque o resultado da expressão ou de suas partes em variáveis separadas que sejam autoexplicativas.
##Example
void renderBanner() {
if ((platform.toUpperCase().indexOf("MAC") > -1) &&
(browser.toUpperCase().indexOf("IE") > -1) &&
wasInitialized() && resize > 0 )
{
// fazer 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) {
// fazer algo
}
}##Why Refactor
A principal razão para extrair variáveis é tornar uma expressão complexa mais compreensível, dividindo-a em suas partes intermediárias. Elas podem ser:
-
A condição do operador
if()ou parte do operador?:em linguagens baseadas em C -
Uma expressão aritmética longa sem resultados intermediários
-
Linhas longas com várias partes
Extrair uma variável pode ser o primeiro passo para realizar Extrair Método se você perceber que a expressão extraída é usada em outros lugares do seu código.
##Benefits
- Código mais legível! Tente dar às variáveis extraídas bons nomes que anunciem o propósito da variável de forma clara e direta. Mais legibilidade, menos comentários prolixos. Opte por nomes como
customerTaxValue,cityUnemploymentRate,clientSalutationString, etc.
##How to Refactor
-
Insira uma nova linha antes da expressão relevante e declare uma nova variável ali. Atribua parte da expressão complexa a essa variável.
-
Substitua essa parte da expressão pela nova variável.
-
Repita o processo para todas as partes complexas da expressão.