Page tree

 

Ya soy un experto y estoy aquí para ayudar: ¡contesta preguntas pendientes y gana puntos!

Skip to end of metadata
Go to start of metadata

Valores booleanos literales no se deben usar en expresiones condicionales

 

Clave

S1125

Severidad Menor
RepositorioSonarQube PHP

 

Elimine los valores booleanos literales de expresiones condicionales para mejorar la legibilidad. Cualquier cosa que pueda probarse para la igualdad con un valor booleano debe ser en sí misma un valor booleano, y los valores booleanos se pueden probar de forma atómica

Ejemplo

if ($booleanVariable == true) { /* ... */ }
if ($booleanVariable != true) { /* ... */ }
if ($booleanVariable || false) { /* ... */ }
doSomething(!false);

$booleanVariable = condition ? true : exp;
$booleanVariable = condition ? false : exp;
$booleanVariable = condition ?  exp : true;
$booleanVariable = condition ?  exp : false;

Solución

if ($booleanVariable) { /* ... */ }
if (!$booleanVariable) { /* ... */ }
if ($booleanVariable) { /* ... */ }
doSomething(true);

$booleanVariable = condition || exp;
$booleanVariable = !condition && exp;
$booleanVariable = !condition ||  exp;
$booleanVariable = condition && exp;

Excepciones

El uso de booleanos literales en las comparaciones que utilizan los operadores de identidad (=== y !==) se ignoran

  • No labels