为了账号安全,请及时绑定邮箱和手机立即绑定

断言是邪恶的吗?

断言是邪恶的吗?

Go
qq_遁去的一_1 2021-03-30 13:11:13
该Go语言的创造者写的:Go不提供断言。它们无疑是很方便的,但是我们的经验是程序员将它们用作拐杖,以避免考虑适当的错误处理和报告。正确的错误处理意味着服务器在发生非致命错误后仍可继续运行,而不会崩溃。正确的错误报告意味着错误是直接的并指向重点,从而使程序员不必解释大型的崩溃跟踪。当程序员看到的错误代码不熟悉时,精确的错误尤为重要。您对此有何看法?
查看完整描述

3 回答

?
Smart猫小萌

TA贡献1911条经验 获得超7个赞

不,assert只要您按预期使用它,就没有错。

就是说,这是为了在调试过程中捕获“不可能发生”的情况,而不是正常的错误处理。

  • 断言:程序逻辑本身失败。

  • 错误处理:不是由于程序错误引起的错误输入或系统状态。


查看完整回答
反对 回复 2021-04-26
?
莫回无

TA贡献1865条经验 获得超7个赞

按照这种逻辑,断点也是邪恶的。

断言应该用作调试辅助,别无其他。当您尝试使用它们而不是错误处理时,是“邪恶的” 。

断言可以帮助程序员(程序员)发现并解决可能不存在的问题,并验证您的假设是否成立。

它们与错误处理无关,但是不幸的是,一些程序员这样滥用它们,然后将它们声明为“邪恶的”。


查看完整回答
反对 回复 2021-04-26
  • 3 回答
  • 0 关注
  • 260 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号