rspec/rules/S131/php/rule.adoc

33 lines
748 B
Plaintext
Raw Normal View History

2021-01-27 13:42:22 +01:00
The requirement for a final ``++case default++`` clause is defensive programming. The clause should either take appropriate action, or contain a suitable comment as to why no action is taken. Even when the ``++switch++`` covers all current values of an ``++enum++``, a default case should still be used because there is no guarantee that the ``++enum++`` won't be extended.
2020-06-30 12:47:33 +02:00
== Noncompliant Code Example
----
switch ($param) { //missing default clause
case 0:
do_something();
break;
case 1:
do_something_else();
break;
}
----
== Compliant Solution
----
switch ($param) {
case 0:
do_something();
break;
case 1:
do_something_else();
break;
default:
error();
break;
}
----
include::../see.adoc[]