c - 放弃 C 中的 THE 规则有多糟糕(又名 : return 0 on success)?

标签 c

在当前项目中,我敢于废除旧的 0 规则,即在函数成功时返回 0。这在社区中如何看待?我强加给代码(因此也强加给同事和所有后续维护程序员)的逻辑是:

.>0:对于任何类型的成功/满足,即积极的结果

==0:表示没有进展、忙碌或未完成,这是关于结果的零信息

<0:对于任何类型的错误/不可行性,即负面结果

在实时系统中,许多硬件单元之间的响应时间不可预测,许多功能需要准确地传达这种三元逻辑,所以我决定放弃简约的标准返回逻辑是合法的,代价是程序员方面的一些 WTF。

意见?

PS:顺便说一句,罗马帝国的崩溃是因为罗马人的数字系统缺少 0,不知道他们的 C 函数何时成功!

最佳答案

“如果现有约定对它有意义,您的程序应该遵循现有约定。”

来源:The GNU C Library

关于c - 放弃 C 中的 THE 规则有多糟糕(又名 : return 0 on success)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3856152/

相关文章:

c - 错误: expected ‘}’ before ‘else’ ?

c - 如何检查两个数组是否在 C 中互为镜像?

c - scanf 的异常行为

c - 二叉搜索树,Valgrind 条件跳转或移动取决于未初始化的值

我可以在 C 预处理器中使用 ## 在循环中声明多个变量吗?

c - 如何使用文件函数从内存中的字符串中读取数据

c - 为什么除 main 之外的函数中的数组初始化是临时的?

c - 将值分配给动态分配的二维指针数组时出现语法错误

C 找出两个堆栈之间的较小差异

C 编程。字符段错误