Занимательная статистика — assert’ы в коде IBProvider’а.

Привет всем.

Утреннее созерцание прогона тестов с использованием отладочной сборки провайдера, привело к мысли — а сколько в его коде ассертов, собственно говоря?

Тупой поиск (прямо из VS2010) в проекте провайдера (2045 файлов), показал следующие цифры

  • «assert» — 13865 строк (844 файла)
  • «assert_msg» — 458 строк (138 файлов)
  • «_VERIFY» — 224 строки (99 файлов)
  • «_VERIFY_MSG» — 17 строк (7 файлов)

Разум тихо шепчет — «ты же не подключил к проекту все файлы конвертора OLEDB-типов, которых чуть больше чем … много».

Для сравнения — аналогичный поиск в основном солюшене FB3 (988 файлов), показывает следующие цифры:

  • «fb_assert» — 2453 строк (287 файлов)

Контрольный поиск grep-ом в каталоге FB3\src показал схожие цифры — 2497 линии в 293 файлах. Так что поиск из IDE показывает достаточно реалистичные цифры 🙂

PS. Когда мысли заходят об использовании ассеров в коде, я вспоминаю адские проверки в B+ дереве (lib/structure/tree/t_tree_bplus_xxxx.h/cc). В данной исследовании они не учитывались. Потому что я так и не рискнул использовать его в своих проектах. Хотя на него была угроблена тонна времени и оно было полностью оттестировано. В провайдере в основном используется AVL-дерево.

Leave a Comment