在不久的将来,我们可能会通过一条规则强制执行这条规则,即我们的java源代码中不能有任何硬编码的数字。所有硬编码数字必须声明为final
变量。最好的实践应该避免魔法数字应该走多远?
即使这在理论上听起来很棒,但在代码中实现起来非常困难/繁琐,尤其是遗留代码。在下面的代码片段中将数字声明为final
变量应该真的被认为是“最佳实践”吗?
//creating excel
cellnum = 0;
//Declaring variables.
Object[] result = new Object[2];
//adding dash to ssn
return ssn.substring(1, 3)+"-"+ssn.substring(3, 5)+"-"+ssn.substring(5, 9);
以上只是一些例子我能想到的,但在这些(及其他),你作为一个开发人员会说够了够了?
我想让这个问题成为一个社区维基,但看不到如何...?
这取决于..... – 2011-06-14 15:55:49
什么呢'final'完成,除了让你看起来某处的代码,如果在那里解析任何东西都需要可插入的正则表达式来实现它的多功能性。 – bestsss 2011-06-14 15:59:05
信徒认为做一个变量final并在其他地方重复使用它会在需要改变某些值时有好处,但是,当声明数组或子字符串ssn时,该理论没有意义_always_将是9位数字 – Omnipresent 2011-06-14 16:01:44