这两个关键字都是在使用DLL动态库时使用的(Windows )
CALM:一致性与逻辑单调
CALM原则的全称是 Consistency and Logical Monotonicity ,主要描述的是分布式系统中单调逻辑与一致性的关系,它的内容如下:
- 在分布式系统中,单调的逻辑都能保证 “最终一致性”,这个过程中不需要依赖中心节点的调度
- 任意分布式系统,如果所有的非单调逻辑都有中心节点调度,那么这个分布式系统就可以实现最终“一致性”
在跨平台环境使用结构体字节位(bit-fields)的注意事项
考虑到网络流量以及运行效率,在涉及到网络同步时,大部分项目都会选择二进制协议。对于C/C++,虽然在Struct中使用bit-fields可以在一定程度上减少数据大小,但是也会带来一定的风险,需要根据实际情况来评估。
Bit-Twiddling整理
所谓Bit-Twiddling,指的就是通过直接操作数据的字节来实现对数据的修改功能。例如,如果我们要将int
类型的变量value
的值变为原来的两倍,那我们既可以使用语句value *= 2
,也可以使用value <<= 1
的方法,后者就是Bit-Twiddling,大多数情况下,使用Bit-Twiddling的程序可以运行的更快。本文收集了一些常用的Bit-Twiddling方法。
面向对象:慎用“继承”,拥抱“组合”
在c++中,“继承”的特性提高了代码的复用性,使用“继承”,我们可以让子类获得父类的功能,也可以根据自己的需要重载父类的一些函数。“继承”使用起来非常容易,正是因为这样,我们使用的时候也需要注意,要慎用“继承”。