Code Smell 07 - Variables booleanas

El uso de variables booleanas como bandera, expone la implementación accidental y contamina el código con Ifs.

Foto de Phil Hearing en Unsplash

Problemas

  • Extensibilidad
  • Comparación en algunos idiomas
  • Si los mapas booleanos a una entidad del mundo real son seguros. En otro caso modelar como Estado para favorecer la extensibilidad. Esto también sigue el principio abierto / cerrado.
  • Banderas
  • Reglas verdaderas / falsas del mundo real

Incorrecto

Derecho

Detección

La detección automática puede advertir sobre el uso booleano, pero esto puede producir falsos positivos.

Relaciones

Algunos lenguajes tienen problemas con los comparadores booleanos.

En estos, junto con lenguajes de complejidad accidental, los valores booleanos son una fuente de error común.

También conocido como

  • Marcar abusador
  • Declarativo
  • Primitivo

Tenga especial cuidado al declarar algo booleano . Las banderas son difíciles de mantener y extender. Obtenga más información sobre el dominio. Intente migrar al patrón de diseño estatal . Utilice polimorfismo en lugar de ifs / switch / cases.

Más información

Créditos

Estos tweets inspiraron este olor a código:

Este artículo es parte de la serie CodeSmell.

Cómo encontrar las partes apestosas de su código

Suggested posts

Búsqueda de información sobre nombres de dominio

Un extracto de Small, Sharp Software Tools de Brian P. Hogan

Búsqueda de información sobre nombres de dominio

Cuando realiza una solicitud a facebook.com, su computadora busca el nombre de dominio para traducir ese nombre de dominio en una dirección IP para que su computadora pueda hacer esa conexión.

La palabra D y la palabra L en diseño de interfaz de usuario. El idioma importa. No seas racista.

La palabra D y la palabra L en diseño de interfaz de usuario. El idioma importa. No seas racista.

Nuestro lenguaje es una herramienta poderosa que puede dar forma a nuestros pensamientos, actitudes y acciones. Incluso términos aparentemente inofensivos pueden perpetuar sesgos y estereotipos dañinos.

Related posts

Recopilación de OSINT para la caza de amenazas

Recopilación de OSINT para la caza de amenazas

¡Hola, entusiastas cibernéticos! Bienvenido de nuevo a la serie OSINT para la caza de amenazas. En el primer artículo, le di una descripción general de OSINT y su importancia en la caza de amenazas.

Lo que puede hacer en su temporada de espera (esperando conseguir su primer trabajo en tecnología)

Lo que puede hacer en su temporada de espera (esperando conseguir su primer trabajo en tecnología)

Cambiar a una nueva carrera puede ser extremadamente desafiante si trata de hacerlo solo. Es importante encontrar socios responsables que estén en el mismo nivel de aprendizaje que usted, que compartan objetivos, tenacidad e impulso similares.

La semana de aprendizaje en el trabajo es más importante de lo que piensas

La semana de aprendizaje en el trabajo es más importante de lo que piensas

A menudo nos encontramos luchando para implementar lo que sabemos que es bueno para nosotros. Desde decirle a un ser querido que lo amamos hasta recordar hablar como un pirata, siempre habrá quienes digan que no hace falta un día, una semana o un mes de eventos porque ya están haciendo esas cosas.

No más contraseñas: cómo las claves de acceso reemplazarán su contraseña

No más contraseñas: cómo las claves de acceso reemplazarán su contraseña

Para evitar ambigüedades se utilizarán los siguientes términos; autenticador; El teléfono móvil que se utiliza para realizar el inicio de sesión en el sitio web; El sitio web o la aplicación que el usuario está utilizando para realizar el servicio de solicitud de inicio de sesión; El proveedor que proporciona el servicio dado, por ejemplo