idesign c#编码标准 - 使用预定义类型

时间:2014-04-10 14:58:25

标签: c# standards-compliance

我正在查看iDesign c#编码标准,并且遇到了一个未解释但很好奇的规则:

  

始终使用C#预定义类型而不是系统中的别名   命名空间。例如:

object NOT Object
string NOT String
int    NOT Int32

根据我的个人经验,我倾向于使用预定义的类型,来自更多的C背景,但我很好奇为什么这是一个规则。我能想到的唯一理由是,正如“标准”这个名称所暗示的那样,它只是一种说法使用这种风格的方式,而不是那种方式,这有助于程序员将两者混合在一起(字符串myString = String。空)。

我还没有看到其他原因吗?

谢谢!

2 个答案:

答案 0 :(得分:2)

从嵌入式背景中,使用Int32(而不是int)意味着有人专门编写了代码,意图是用32位表示整数值,因此在将来可能扩展或缩小大小的代码中必须小心。

所以,在C#中,如果我使用的是一个整数,我没有特别的理由来指定位大小,我会使用int。未来的程序员可以决定他们想要一个int64而不会破坏东西(应该总是检查减小的位大小)。

对于object / Object和String / string,我指出的一些指导原则是在引用类时使用字符串或对象和String / Object。

string cat = "meow";
boolean gotCat = String.IsNullOrEmpty(cat);

答案 1 :(得分:1)

编码标准的一个关键原因是一致性。 通过强制执行此标准,您可以确保代码一致。

我认为除此之外没有任何理由。在性能方面,字符串和字符串之间没有区别。

我也同意Kirk,并且人们可能会认为int和Int32是不同的,并尝试在它们之间施放。