在开发一个有许多开发人员的大型C++编程项目中,我们遇到了assert()在代码中被不适当使用的问题,导致在确实出现断言的情况下产品崩溃,从而导致质量问题。
问题是什么是适当使用assert()的好原则? 何时使用assert()是合适的,何时不是? 是否有一系列标准,每个断言都必须满足才能合法? 我们如何鼓励正确地使用assert()?
首先,我认为assert()只应用于记录一种被认为不可能到达的条件,并且违反编程假设时应在运行时将其标识为assert()失败。
大家对此有更好的建议吗?你使用assert()的经验是什么?