Stellman& Greene(2010),其中一个练习如下(为简洁起见):
定义Hive的常量:你需要一个常量,用于蜂巢开始的蜂蜜量(3.2)和蜂巢可存储的最大蜂蜜量(15)。 (第555页)
除了该段,他们还发表以下评论:
你必须为每个人以及类型找出好名字。对于类型,不要只考虑初始值,还要考虑这些常量将使用的值。 双打最好与其他双打搭配,并与其他双打合作。 (第555页,重点补充)
他们对该练习的解决方案如下(第556页):
private const double InitialHoney = 3.2;
private const double MaximumHoney = 15;
他们发表评论:"由于InitialHoney
需要成为双倍,因此最好将其设为双倍。" (第556页)。
我搜索了这本书,用Google搜索并查看了StackOverflow,但找不到这个原因,为什么这是最好的"。当两个变量都用在方法中时,它可能会保存一个变量的显式转换,但显式定义整数为int
有助于防止错误使用。
问题:那我错过了什么?为什么它最好"在C#中有匹配的变量类型?
Stellman,A。& Greene,J。(2010)。 Head First C#:一个关注大脑的指南(第2版)。加州塞巴斯托波尔:O'Reilly Media。
答案 0 :(得分:1)
如果预期变量,字段,常量可用于其他double
类型的变量,结果将为double
,则应使用double
键入所有涉及的值。我会对任何类型应用相同的规则。
如果您知道自己只需获得int
结果,为什么强制从/ double
强制转换为double
?{/ p>
这不适用于可能在其他地方使用某个号码的情况。我并不是在提倡一条规则,即“如果在您的代码中需要使用dobule
,则所有数字都将使用double
”键入。老实说,我会使用常识。