Villain-Marais (henic) wrote,
Villain-Marais
henic

  • Mood:
  • Music:

вопрос к программерам... Остальным - смело пропускать.

Ситуация примерно такая: большой проект на смеси C и C++, написан целиком мною, то есть, в коде ориентируюсь. Каждый запуск занимает изрядное время (с полчаса). Есть куча мест, которые вообще никогда не проверялись (тестирование железа, реальное количество возникающих ошибок достаточно невелико). Опечатка в формате оператора printf, и программа навернется.
Назрела и перезрела уже необходимость встраивать какие-то проверки. Более серьезные, чем границы массивов... Тесты, имитирующие ситуации ошибок. Причем, видимо, без связи с запуском собственно программы, бо там каждый запуск - очень долгая история...

Все, что приходит в голову, это держать в хвосте файла под #ifdef процедуру main, которая будет вызывать все функции модуля с разными параметрами. Но это потребует слишком многих компиляций. Есть еще вариант - держать функцию, которая тестирует весь модуль, определять ее тоже каким-то прекомпиляционным флагом. И отдельно стоящий main, все эти тесты вызывающий...

Собственно вопрос: есть ли на эту тему какие-то стандарты, разработки, как принято организовывать подобные вещи?
Subscribe

  • (no subject)

    В фильмотеке Йеса обнаружился фильм "Волосы". Открою кодекс на любой странице, И не могу - читаю до конца. В девяностом смотрел, без перевода, что…

  • (no subject)

    Apple построит в Тель-Авиве новый кампус на 30 этажей без парковок. Естественное продолжение телефонов без зарядного устройства.

  • (no subject)

    Интернет-провайдер прислал SMS, что год заканчивается, либо цена поднимается, либо нет, как говорил Шрёдингер. Оказалось, что к моему дому уже…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 20 comments

  • (no subject)

    В фильмотеке Йеса обнаружился фильм "Волосы". Открою кодекс на любой странице, И не могу - читаю до конца. В девяностом смотрел, без перевода, что…

  • (no subject)

    Apple построит в Тель-Авиве новый кампус на 30 этажей без парковок. Естественное продолжение телефонов без зарядного устройства.

  • (no subject)

    Интернет-провайдер прислал SMS, что год заканчивается, либо цена поднимается, либо нет, как говорил Шрёдингер. Оказалось, что к моему дому уже…