ConstructiCat Logo
CodeBust.
Browse section ▾

Simplifying Conditional Expressions.

Architectural Patterns Mascot
Consolidar expresión condicional

Problema: Tienes varios condicionales que conducen al mismo resultado o acción. Solución: Consolida todos esos condicionales en una sola expresión.

001
Antipatterns Mascot
Consolidar fragmentos condicionales duplicados

Problema: Se encuentra código idéntico en todas las ramas de un condicional. Solución: Mueve el código fuera del condicional.

002
Code Smells Mascot
Descomponer Condicional

Problema: Tienes un condicional complejo (if-then/else o switch). Solución: Descompón las partes complicadas del condicional en métodos separados: la condición, el then y el else.

003
Antipatterns Mascot
Introducir aserción

Problema: para que una porción de código funcione correctamente, ciertas condiciones o valores deben ser verdaderos. Solución: sustituye estas suposiciones por comprobaciones de aserción concretas.

004
Code Smells Mascot
Introducir objeto nulo

Problema: Como algunos métodos devuelven null en lugar de objetos reales, tienes muchas comprobaciones de null en tu código. Solución: En lugar de null, devuelve un objeto nulo que muestre el comportamiento por defecto.

005
Architectural Patterns Mascot
Eliminar bandera de control

Problema: Tienes una variable booleana que actúa como bandera de control para múltiples expresiones booleanas. Solución: En lugar de la variable, utiliza break, continue y return.

006
Antipatterns Mascot
Reemplazar condicional con polimorfismo

Problema: Tienes un condicional que ejecuta diversas acciones en función del tipo o las propiedades de un objeto. Solución: Crea subclases que se correspondan con las ramas del condicional. En ellas, crea un método compartido y traslada a él el código de la rama correspondiente del condicional. Después, reemplaza el condicional por la llamada al método pertinente. El resultado es que se alcanzará la implementación adecuada mediante polimorfismo en función de la clase del objeto.

007
Refactoring Mascot
Reemplazar condicional anidado con cláusulas de guarda

Problema: Tienes un grupo de condicionales anidados y es difícil determinar el flujo normal de ejecución del código. Solución: Aísla todas las comprobaciones especiales y los casos límite en cláusulas separadas y colócalas antes de las comprobaciones principales. Lo ideal es tener una lista «plana» de condicionales, uno tras otro.

008