4
시나리오 내 $type_id
변수 ID의 특정 세트 중 하나인지 확인해야된 Cyclomatic 복잡성 스위치/케이스 사이의 차이와 in_array
. 그들의 대부분은 일반적인 경우에 아래로 계단식 곳
는 가독성 이외의 이유로, 나는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()
기능 뒤에 숨겨진, 아직 거기에 복잡성을하지 않습니다이 시점에서 질문
?
그렇다면 CC가 읽을 수 없기 때문에 "엉망"으로 간주된다는 의미입니까? – Alec
@Alec 아니, 반드시 읽는 것이 어렵다는 것을 의미하지는 않습니다. 그 방법/기능에 대해 이해하거나 추론 할 수있는 것에 대한 더 많은 것. 코드 조각을 통해 가능한 많은 분기가있는 경우이 입력 x에 대해 말하기가 더 어려워지고 출력은 y가됩니다. 이것은 차례로 함수를 다루기 위해 필요한 단위 테스트의 수에 직접적인 영향을 미칩니다. Wikipedia 기사는 매우 철저합니다. https://en.wikipedia.org/wiki/Cyclomatic_complexity – Gordon