过度使用重新定义原始数据类型?

时间:2011-10-07 21:16:29

标签: c++ design-patterns coding-style

我目前的项目代码库已经完善了每个单元及其朋友。

摘录: -

...
typedef int m; // meter
typedef int htz;
typedef int s; // second
...

好还是坏?
我讨厌它!它是一种痛苦,没有任何好处,而且“m”是全球定义的,omg!

但是我想说明我讨厌它的原因,更多的是技术性/口齿清晰的庄园......你好读者!

人们可以列出这种模式的For / Against参数吗?非常感谢。

2 个答案:

答案 0 :(得分:4)

最好使它们成为自定义类型,因为您可以控制转换和重载运算符。现在,我可以做一些毫无意义的事情,比如用赫兹乘以一米。理想情况下,m / s会产生速度 - 但它不会。只是typedef他们就像那样毫无意义。

答案 1 :(得分:2)

据推测,他们正试图记录意图,但没有类型安全,就没有强制执行。只是杂乱无章,增加了关于代码推理的进入门槛。

即使他们尝试创建类型安全性,尝试以低级别抽象数据也会增加复杂性。它不会使解决问题更容易。变量名称无论如何都足够好地描述了内容。