amarao (amarao_san) wrote,
amarao
amarao_san

Теоретическое об оценке сложности кода

Кстати, я тут придумал одну клёвую метрику: количество строк в коде тестов, полностью покрывающую программу. Чтобы не перераздувать: для минимального полного покрытия (то есть не стопятьсот граничных условий, а просто такие тесты, чтобы каждая строчка кода выполнилась хотя бы раз).

Резко изменяет отношение к коду. Например, если в коде очень много разных обработок ошибок, то может казаться, что он относительно простой, а на деле - ад и ужас, как всё сложно и неочевидно.

Вот я неделю перед отпуском херачил код, даже что-то успел нахерачить. А теперь уже в сумме часов 30 потратил на тесты - и покрыл тестами из 700 строк оригинального кода только 55 строк одного класса. А тестики получились на 320 строк (и это без особого задора, так, все функции класса проверить на четырёх сценариях - всё хорошо с данными и хорошие запросы, всё хорошо с данными и фиговые запросы (то есть на которые должны ошибки возвращаться), всё плохо с данными и хорошие запросы, и всё плохо всюду).

Впереди ещё 650 строк непокрытого тестами адски багованного кода (три класса, и писец какая тонкодуховная логика с обработкой душевного трепета дисковой подсистемы сервера).
Subscribe

  • 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.
  • 13 comments