千家信息网

C++中怎么使接口清晰明确

发表于:2026-11-04 作者:千家信息网编辑
千家信息网最后更新 2026年11月04日,本篇内容介绍了"C++中怎么使接口清晰明确"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!I.1: M
千家信息网最后更新 2026年11月04日C++中怎么使接口清晰明确

本篇内容介绍了"C++中怎么使接口清晰明确"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

I.1: Make interfaces explicit(使接口清晰明确)

Reason(原因)

Correctness. Assumptions not stated in an interface are easily overlooked and hard to test.

正确性。在接口中没有说明的假设很容易被忽视且难于测试。

Example, bad(反面示例)

通过全局(命名空间范围)变量(调用模式)控制函数行为的方式是隐晦且不易理解的,例如:

int round(double d){    return (round_up) ? ceil(d) : d;    // don't: "invisible" dependency}
It will not be obvious to a caller that the meaning of two calls o
f round(7.2) might give different results.
调用者不容易理解两次调用round(7.2)可能返回不同的结果。

Exception(例外)

有时我们通过环境变量控制一套操作的细节。例如,正常输出还是详细输出,也可能是调试还是优化。使用非局部控制的做法可能会难于理解,只可以应用在其他固定语义的实现细节的情况。

Example, bad(反面示例)

Reporting through non-local variables (e.g., errno) is easily ignored.

For example:

通过非局部变量报告(例如错误编码)很容易被忽略。例如:

// don't: no test of printf's return valuefprintf(connection, "logging: %d %d %d\n", x, y, s);

如果连接被关闭而导致没有日志输出怎么办?

Alternative: Throw an exception. An exception cannot be ignored.

可选项:抛出异常。异常不会被忽略。

另一种说法:避免会用非局部或隐含状态通过接口传递信息。注意非const成员通过对象状态函数向另外一个成员函数传递信息的情况。

另一种说法:接口应该是一个或一组函数。接口可以是模板函数,函数组可以是类和类模板。

Enforcement(实施建议)

  • (Simple) A function should not make control-flow decisions based on the values of variables declared at namespace scope.

    (简单)函数不应该根据命名空间范围中的变量决定控制流。

  • (Simple) A function should not write to variables declared at namespace scope.

    (简单)函数不应该改写定义于命名空间范围的变量。

"C++中怎么使接口清晰明确"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

函数 接口 变量 控制 输出 局部 情况 空间 范围 C++ 信息 内容 反面 成员 更多 模板 状态 知识 示例 细节 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技保险 厦门中拓互联网络科技有限公司 奇酷互联网科技公司 互联网与未来科技 银优互联网科技有限公司 广州互联网络科技有限公司 互联网科技有限公司 翻译 哈尔滨新华互联网科技 深圳前海聚择互联网科技有限公司 须眉科技是互联网公司吗 宝灵互联网科技有限公司 米聚互联网科技南京有限公司排面 云南省自由互联网科技有限公司 互联网科技数字货币 陕西云淼互联网科技公司 万物互联网智能科技 广西科技产业互联网是什么 张家口科技产业互联网平台 互联网科技创业计划的风险分析 银川新华互联网科技学校招聘 网络科技有限互联网 互联网科技公司电话 成都互联网科技公司 互联网科技美容 居家互联网科技有限公司 中国的互联网科技企业的崛起 互联网和黑科技的看法 互联网科技和信息 中和天地互联网科技有限公司 互联网科技大佬云集
0