Здравствуйте, Lloyd, Вы писали:
L>Предлагаю рассмотреть другой вариант.
L>Было var a = b + c; его отрефактирили в var a = Add(b, c);
L>Если мы теперь вернемся к первоначальному var a = b + c;, то получим решение, которое проще (чем var a = Add(b, c)).
L>Т.е получаем уменьшение сложности.
Уменьшение по сравнению с чём? Исходную сложность ты не уменьшил, а излишнюю да, устранил. Или вот ещё:
if (a == true)
{
return true;
}
else if (a == false)
{
return false;
}
else if (a != true && a != false)
{
throw new ApplicationException()
}
такой код упрощается до:
return a;
при этом сложность этого кода уменьшается. Но начальная сложность никуда не делась. Если задача ставится как, например, умножить два числа, то можно применить множество практик и техник, но умножение или заменяющий его алгоритм в том или ином виде в коде присутствовать должен. От этого никуда не деться и это указано в статье.
L>Я это имел в виду.
Возможно не все формулировки и объяснения получились достаточно чёткими и однозначными. Я над этим работаю