我是靠谱客的博主 拼搏盼望,最近开发中收集的这篇文章主要介绍断言(assert)的艺术,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最近读了《编程珠玑》 简单总结一下断言方面的知识

断言(assert)

断言不属于函数,它被定义为宏,而且只在debug的时候起作用。如果断言判断为假,则程序中止,真则继续运行。和if else类似,相当于if(假设成立) { 程序正常运行; } else { 终止程序!}不过断言会让程序易读,简洁。所以通常情况我们采用断言的方式判断程序正确性。

警告⚠️ 下面是些乏味内容,如果您只想简单了解断言,看到这就足够啦

编写代码时,我们总是会做出一些假设,断言就是用于在代码中捕捉这些假设。程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。但是通常我们并不那么做。因为某些项目使用预处理器定义断言,于是可以在编译阶段处理断言,而不会导致运行时的额外开销。另一方面,图灵奖获得者Tony Hoare也曾经注意到,在测试时使用断言,而在产品发布时将断言关闭的程序员,就像是在岸上操练时穿着救生衣,而下海时将救生衣脱下的水手。

还有两种和断言接近的语法,但是他们各有各的应用场景

if else

if else属于分支结构,只有在简单的选择过滤时我们才会采用if else。非常复杂的情况if else会显得非常繁琐。这时我们可以选择采用try catch

try catch

try catch属于顺序结构,try可以解决我们不容易发现的异常,可以防止一些未知的错误。
try后面是正常运行的代码,当try后代码抛出异常时,则会跳到catch处理异常信息,这样一来可以极大的提高程序的稳定性,防止一些我们不能预料的错误。

最后

以上就是拼搏盼望为你收集整理的断言(assert)的艺术的全部内容,希望文章能够帮你解决断言(assert)的艺术所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部