您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

断言一个好习惯吗?

断言一个好习惯吗?

原则上,断言与许多其他运行时检查没有什么不同。

例如,Java在运行时对所有数组访问进行绑定检查。这会使事情变慢吗?是。有好处吗?绝对!一旦发生越界违规,就会引发异常,并警告程序员任何可能的错误!在其他未对数组访问进行绑定检查的系统中,其行为是无法预料的!(通常会带来灾难性的后果!)。

无论使用图书馆还是语言支持,断言在本质上都是相似的。有性能成本,但这绝对值得。实际上,断言是更有价值的,因为它是显式的,并且可以传达更高层次的概念。

如果使用得当,可以最大程度地降低性能成本,并最大程度地提高客户端(因为谁会比以往更早地发现违反合同的合同)和开发人员(因为合同是 自我执行自我记录 )的价值。

另一种看待它的方法是将断言视为“活动评论”。毫无疑问,评论是有用的,但它们是被动的。在计算上他们什么都不做。通过将某些概念表述为断言而不是注释,它们变为活动状态。他们实际上必须在运行时保持;违规行为将被发现。

另请参见:使用断言进行编程的好处

其他 2022/1/1 18:31:54 有548人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶