シナリオ
$type_id
変数が特定の ID セットの 1 つであるかどうかを確認する必要があります。
読みやすさ以外の理由で、私は一緒に行きました
switch($type_id) {
case Type::SOME_TYPE:
case Type::SOME_OTHER_TYPE:
...
//do stuff
それらのほとんどは一般的なケースにカスケードします。
しかし、これにより、PHPMD が泣き言を言い始めるところまで循環的複雑さが増します。
in_array()
だから私は考えました、代わりに使用しましょう。
if (in_array($type_id, [
Type::SOME_TYPE,
TYPE::SOME_OTHER_TYPE,
...
])) {
//do stuff
}
質問
この時点で、PHPMD は不平を言うのをやめましたが、in_array()
関数の背後に隠れているだけで、循環的複雑性がまだ残っているのではないでしょうか?