gpt4 book ai didi

php - 为什么三元运算符比 if/else 更复杂?

转载 作者:IT王子 更新时间:2023-10-28 23:55:30 26 4
gpt4 key购买 nike

我正在使用 pdepend 测试我的库,一些函数具有难以置信的高复杂性。我刚刚意识到它来自三元运算符,但我不确定为什么。

具有如下功能:

  function test($a) {
return $a > 10 ? 5:20;
}

pdepend 返回的复杂度 (npath) 为 5。为什么有 5 个不同的路径?我只看到 2 个。

具有如下功能:

   function test($a) {
if($a > 10)
return 5;
else
return 20;
}

npath 复杂度为 2。这是有道理的。


编辑:好的,我查看了另一个问题:PMD - NPath complexity very high with ternary operator (?

它是算法的一部分。不过,该函数只有 2 条可能的路径。该算法对我没有意义。节点数不反射(reflect)路径数,任意加2。

最佳答案

pdepend 用于确定复杂性的算法为三元运算符的使用增加了两个,尽​​管它们应该是相同的,因为它与 if else 的工作方式相同并且添加了相同数量的路径。根据我的经验,如果在实际应用中有任何实际差异,您应该看不到太多实际差异。

关于php - 为什么三元运算符比 if/else 更复杂?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24197973/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com