C编程准则

编程准则

1、 确保变量运算范围的有效性(取值范围)
2、 确保变量运算时间的有效性(及时同步)
3、 确保变量运算空间的有效性(作用区域)
4、 确保互补运算调用的一致性(有开有关)
5、 确保运算变量类型的一致性(天地大同)

准则描述

取值范围:受限于机算机存储系统,任何变量的取值空间是一定的,即使未限制的变量仍然有空间限制,即0MAX或-MAX-1MAX。在进行变量运算时,都需要考虑变量在运算前后变量值域的有效性,包括是否超过取值范围,是否与预期一致。常见的有空指针、变量翻转、参数无效等错误。
及时同步:由于变量的动态性,变量的运算条件都是受时间限制的,不同的时间表现出来的状态或值可能不同。包括缓存的、备份的、废弃的、新分配的变量,覆盖核间共享变量,进程共享变量,甚至设备间同步的变量(信息)。这些变量在运算时需要考虑值是否一致,是否实时,否则基于此变量值计算的结果可能是无效的。
作用区域:变量定义是受空间限制的,必须在有效的空间范围使用变量才能保证结果的正确。包括线程内变量、线程间变量、进程间变量、核间变量。线程内变量为线程私有变量,可在线程内自由使用;线程间变量被多个线程引用,访问受限于CPU调度指令的不确定性,可能需要加锁保护;进程间变量在CPU访问层面与线程间变量相同,但在空间方面表现出来的细微差异使操作变量指令本身需要有时间依赖,如共享文件的“开关”;核间变量在不同核间除共同操作相同的内存空间外,作用区域还包括加速核间访问的高速Catch,核间变量无化通过“锁”机制保护指令安全,但需要保证访问的高效、实时,故而在编程上需要充分考虑容错性。
有开有关:变量或函数的使用需要注意一致性,主要体现在对称性和互补性。诸如括号{}的使用及嵌套,如若干关系变量或结构体变量的使用时序(+/-)、互补函数调用先后顺序和对称性(0-1,-1-1)。扩展到设计流程,保持设计流程的处理的一致性、原子性、对称性,减少设计遗漏。
天地大同:变量或函数使用的一致性、对等性,主要体现在变量运算使用相同类型,避免差异化、操作函数的使用保持一致,避免多套API交差使用。扩展到进程间、CPU间、机架间的信息交换、串流。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值