Consolidar expresión condicional.
Tienes varios condicionales que conducen al mismo resultado o acción.
Consolida todos esos condicionales en una sola expresión.
##Example
double disabilityAmount() {
if (seniority < 2) {
return 0;
}
if (monthsDisabled > 12) {
return 0;
}
if (isPartTime) {
return 0;
}
// Calcular el importe por incapacidad.
// ...
}double disabilityAmount() {
if (isNotEligibleForDisability()) {
return 0;
}
// Calcular el importe por incapacidad.
// ...
}##Why Refactor
Tu código contiene muchos operadores alternados que realizan acciones idénticas. No queda claro por qué los operadores están separados.
El principal propósito de la consolidación es extraer el condicional a un método aparte para mayor claridad.
##Benefits
-
Elimina código duplicado de flujo de control. Combinar varios condicionales que tienen el mismo «destino» ayuda a mostrar que solo estás realizando una comprobación complicada que conduce a una única acción.
-
Al consolidar todos los operadores, ahora puedes aislar esta expresión compleja en un nuevo método con un nombre que explique el propósito del condicional.
##How to Refactor
Antes de refactorizar, asegúrate de que los condicionales no tengan «efectos secundarios» ni modifiquen nada, en lugar de limitarse a devolver valores. Los efectos secundarios pueden estar ocultos en el código que se ejecuta dentro del propio operador, por ejemplo cuando se añade algo a una variable en función del resultado de un condicional.
-
Consolida los condicionales en una sola expresión usando
andyor. Como regla general al consolidar:-
Los condicionales anidados se unen mediante
and. -
Los condicionales consecutivos se unen mediante
or.
-
-
Aplica Extraer método a las condiciones del operador y dale al método un nombre que refleje el propósito de la expresión.