amarao (amarao_san) wrote,
amarao
amarao_san

Categories:

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

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

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

  • systemd-networkd, netlink и arp флуд

    Нереально странный баг пофикшен с помощью eBPF затычки. Для меня большой неожиданностью является реакция на него.…

  • Rust soundness

    Каждый раз, когда я сталкиваюсь с маленькими "но" в Rust'е, это ощущение тщательной продуманности. Например, простейшие fold-функции для итераторов:…

  • still_ntp

    В ходе локального мозгового штурма у меня родилась суперидея. Надо написать ntp сервер, который может отдавать указанную дату. Т.е. сказали при…

  • Post a new comment

    Error

    default userpic

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 3 comments