2020-06-30 12:48:39 +02:00
|
|
|
include::../description.adoc[]
|
|
|
|
|
|
|
|
== Noncompliant Code Example
|
|
|
|
|
|
|
|
----
|
2020-12-21 15:38:52 +01:00
|
|
|
function get_readable_status($is_running, $has_errors) {
|
|
|
|
return $is_running ? "Running" : ($has_errors ? "Failure" : "Succeeded"); // Noncompliant
|
2020-06-30 12:48:39 +02:00
|
|
|
}
|
|
|
|
----
|
|
|
|
|
|
|
|
== Compliant Solution
|
|
|
|
|
|
|
|
----
|
2020-12-21 15:38:52 +01:00
|
|
|
function get_readable_status($is_running, $has_errors) {
|
|
|
|
if ($is_running) {
|
|
|
|
return "Running";
|
2020-06-30 12:48:39 +02:00
|
|
|
}
|
2020-12-21 15:38:52 +01:00
|
|
|
return $has_errors ? "Failure. " : "Succeeded ";
|
2020-06-30 12:48:39 +02:00
|
|
|
}
|
|
|
|
----
|
2021-01-06 17:38:34 +01:00
|
|
|
|
|
|
|
== Exceptions
|
|
|
|
|
2021-01-27 13:42:22 +01:00
|
|
|
Exclusively chained shorthand ternary operators ``++?:++`` are excluded from this rule.
|
2021-01-06 17:38:34 +01:00
|
|
|
|
|
|
|
----
|
|
|
|
$result = $option1 ?: $option2 ?: 'default';
|
|
|
|
----
|