Здравствуйте, gandjustas, Вы писали:
T>>>>Этот код тупо заменяется на словарь, где ключ — функция вычисляющая предикат, а в кач-ве значения — действие, которой надо выполнить, если предикат вернул true. И все, N ветвлений ушло.
G>>>Cyclomatic Complexity — это не количество ифов, а количество decision points, если у вас один if в цикле, то Cyclomatic Complexity такого куска равно количпеству проходов цикла.
T>>Ну тогда еще проще — уменьшаем кол-во проходов цикла до минимума и комплексити падает.
G>Ну покажите на вашем примере с кучей ифов как вы уменьшите Cyclomatic Complexity за счет таблицы.
Я написал же предельно понятно. Дойду до работы, скину примерчик. Можешь померить на нем комплексити до и после.
T>>Ты неправильно понимаешь комплексити.
G>А мне кажется что вы неправльно понимаете.
G>G>The cyclomatic complexity of a section of source code is the count of the number of linearly independent paths through the source code.
G>Так вот количество незвисимых путей не меняется.
paths, a не проходов.
T>>Пример, который я привел показывает технику, как эту комплексити можно снизить не вдаваясь в делали кода. При этом, хотя по формуле сложность уменьшается, де-факто она возрастает, т.к. такой код становится сложно читать, отаживать, модифицировать, т.е. то, что обыватель называет сложностью, на самом деле возрастает, не смотря на цифирки.
G>На самом деле Cyclomatic Complexity при такой технике не меняется.
См. выше.