计算机科学家需要哪些条件,14.9 先决条件

本文介绍了如何通过添加注释和代码检查来增强程序的健壮性,特别是针对函数的先决条件和后置条件进行验证。作者建议在函数中明确先决条件和后置条件,并提供了使用`assert`函数进行断言检查的例子,以确保函数在执行前后满足预期状态,从而提高代码质量。
摘要由CSDN通过智能技术生成

通常当你写函数时会对接收的参数做了隐含的假设。如果这些假设成立,程序没有问题;如果假设不成立,你的程序可能就会崩溃了。

为了让你的程序更为健壮,将你的假设明确,以程序文档的方式写下来或写代码来进行检查。

比如我们观察calculateCartesian方法。是否存在对当前对象进行了假设呢?没错,我们假设极坐标系的标志量已经设置了并且mag和theta的值是有效的。如果假设不成立,那么这个函数的结果无意义。

一种做法是对函数添加注释说明先决条件以警告他人。

void Complex::calculateCartesian ()

// 先决条件:当前对象包含有效的极坐标值,其极坐标标志量已设定。

// 后置条件:当前对象包含有效的笛卡尔坐标系和极坐标系的值,两个标志量皆已设置。

{

real = mag * cos (theta);

imag = mag * sin (theta);

cartesian = true;

}

同时,我添加了后置条件,即我们认为函数执行完毕后为真的事情。

这些注释对于阅读你代码的人很有用,但更好的办法是通过代码来检查先决条件,并输出合适的错误信息:

void Complex::calculateCartesian ()

{

if (polar == false) {

cout << "calculateCartesian failed because the polar representation is invalid" << endl;

exit (1);

}

real = mag * cos (theta);

imag = mag * sin (theta);

cartesian = true;

}

exit函数会使程序很快的退出执行。返回值是一个错误码以告诉系统(或该程序执行者)某些错误发生。

这种错误检测方式很是常见,于是C++提供了一个内置函数来检查先决条件并打印错误信息。如果你包含了assert.h头文件,你可以使用一个以布尔值或条件表达式为参数的assert函数。只要参数为真,assert函数就啥也不做。如果参数为假,assert打印一个错误信息并退出,用法如下:

void Complex::calculateCartesian ()

{

assert (polar);

real = mag * cos (theta);

imag = mag * sin (theta);

cartesian = true;

assert (polar && cartesian);

}

第一句assert检查先决条件(事实上只是一部分先决条件),第二句assert检查后置条件。

在我的开发环境中,当一个断言失败时会得到以下信息:

Complex.cpp:63: void Complex::calculatePolar(): Assertion ‘cartesian’ failed.

Abort

信息中会有许多内容可以帮助我跟踪错误,包括文件名和断言失败的出错行,断言语句的内容和所在函数名。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Advanced Installer 14.9是一种领先的安装程序制作工具,它可以帮助开发人员创建和发布Windows平台上的安装包。它提供了丰富的功能和工具,使得创建通用安装程序变得更加容易和高效。 Advanced Installer 14.9使开发人员能够快速创建自定义安装程序,从而简化软件部署过程。它提供了直观的用户界面,使得创建安装包所需的各种步骤都变得非常简单。开发人员可以通过拖放操作来添加文件、快捷方式、注册表项和其他必要的组件,而无需编写复杂的脚本。 此外,Advanced Installer 14.9还具有自定义安装界面的能力,开发人员可以根据自己的品牌和需求来设计安装界面。它还提供了多种可用的主题和模板,以帮助开发人员快速生成专业的安装界面。它还支持多语言界面,可以方便地为不同地区提供本地化的安装体验。 Advanced Installer 14.9还具有强大的配置选项,可以满足开发人员的各种需求。它支持自定义安装选项和脚本,可以根据用户的选择来安装、卸载和配置软件。它还集成了许多高级功能,如安装前检查、许可证管理和文件关联等,使得软件的安装过程更加灵活和智能。 总之,Advanced Installer 14.9是一款功能强大且易于使用的安装程序制作工具。它可以帮助开发人员简化软件部署过程,并提供丰富的功能和选项来满足各种需求。无论是个人开发者还是企业开发团队,都可以从Advanced Installer 14.9中受益,并将其用于创建高质量的安装包。 ### 回答2: Advanced Installer 14.9 是一款功能强大的安装程序制作工具。它提供了一套全面的功能,使得制作安装程序变得更加简单和高效。Advanced Installer 14.9 可以帮助开发者快速并且容易地创建可靠的 Windows Installer(MSI)安装程序。 Advanced Installer 14.9 具备众多强大的特性。其中包括可视化的界面编辑器,使得用户能够轻松地设计和定义安装界面。它还支持多种安装脚本语言,如MSI 变量和安装脚本,使得开发者能够自定义安装过程和逻辑。此外,Advanced Installer 14.9 还提供了丰富的预定义操作,比如安装服务、注册文件、创建快捷方式等等。 对于软件发布,Advanced Installer 14.9 也提供了很多实用的功能。它可以自动生成更新包,帮助用户方便地进行软件升级和版本管理。它还支持发布到各种平台和商店(如 Microsoft Store),并提供完善的数字证书支持,以确保软件的安全性和完整性。 值得一提的是,Advanced Installer 14.9 还具备特殊的功能,用于满足企业需求。例如,它提供了集成的部署工具,使得 IT 团队能够更好地管理软件部署和分发。此外,它还支持自动化构建和命令行编译,以及与集成开发环境的集成,方便开发者进行持续集成和自动化部署。 总之,Advanced Installer 14.9 是一款功能全面、易于使用的安装程序制作工具。它不仅能够帮助开发者轻松制作出可靠的安装程序,还提供了许多高级功能和企业级支持,满足了各类用户的需求。 ### 回答3: Advanced Installer 14.9是一种功能强大的安装程序制作工具,可以创建Windows Installer(MSI)安装程序,使软件安装更加简单和方便。 Advanced Installer 14.9提供了许多强大的功能,如图形化的界面设计工具,使您能够轻松创建自定义的安装界面。您可以自定义界面的外观和感觉,包括背景图像、图标和颜色。此外,您还可以创建自定义对话框和控件,以便更好地满足用户的需求。 此外,Advanced Installer 14.9还支持快速打包和打包工具,以便在一个安装包中包含多个程序或组件。这有助于简化安装过程,并将多个组件集成到一个可执行文件中。您还可以使用版本控制功能来跟踪不同版本的软件和更新。 Advanced Installer 14.9还具有丰富的配置选项,您可以根据特定需求自定义安装过程。您可以选择要安装的文件、注册表项、服务和环境变量,以及其他一些用户所需的软件配置。 此外,Advanced Installer 14.9还支持自动安装程序更新和修复。您可以轻松地创建更新包,并将其分发给用户,以便他们能够快速获取软件的最新版本。 总之,Advanced Installer 14.9是一款强大而灵活的安装程序制作工具,可以帮助开发人员轻松创建功能丰富、可自定义的安装程序,以及简化软件的分发和更新过程。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值