> -- Илья Ермаков писал(а):
> Всюду и в обязательном порядке.
При Х-м уровне вложенности функций каждая должна проверять параметры на сложные условия корректности. Процент полезного кода среди таких проверок мал, а сами проверки зачастую ресурсоёмкие. Это первое. Второе: нельзя написать цепочку вызовов:
"IF A AND B AND C", так как все они защищены ASSERT-ами.

> -- Цитата:
> Только вот во многих языках ASSERT работает параллельно исключениям
В большинстве языков ASSERT можно переопределить своей функцией.

> -- Цитата:
> В других системах (в С++, например) assert предназначен как раз исключительно для отладки
Кем предназначен? ASSERT он один везде и смысл его один.