我有这段代码,我想用它来计算 Halstead 复杂度:
<?php
$words = explode("\n", file_get_contents('http://www.puzzlers.org/pub/wordlists/unixdict.txt'));
foreach ($words as $word) {
$chars = str_split($word);
sort($chars);
$anagram[implode($chars)][] = $word;
}
$best = max(array_map('count', $anagram));
foreach ($anagram as $ana)
if (count($ana) == $best)
print_r($ana);
?>
我了解它是如何完成的原则(请参阅http://en.wikipedia.org/wiki/Halstead_complexity_measures ),但我不明白并且在彻底搜索后也无法找到的是:运算符,什么算作操作数?似乎没有达成一致的定义。
这是我可以遵循的一个更简单的示例(http://www.win.tue.nl/~aserebre/2IS55/2009-2010/9.pdf),但不能应用于上面的示例。