November 23rd, 2016

404

о цикломатике и тестах

Самая убедительная мотивация снижать цикломатическую сложность функций - это тесты. Если тесты не могут покрыть все случаи функции, значит это не функция, а несколько, слепленных вместе. То есть как только начинаешь думать "как я это буду тестировать" - сразу меняется стиль программирования. Каждый if в коде - это big deal, возможно, даже ещё один тест. Если if'ов несколько, то драма нарастает, ибо надо либо матрицу условий делать, либо кому-то пора резать функцию на несколько.

То же касается и структуры классов (thnx to Дима) - если слишком много моков на инициализацию класса, значит, что-то не так с архитектурой.