一般编程 - 更改变量名称或仅显示名称?

时间:2012-01-04 22:14:06

标签: coding-style

我正在处理即将完成的项目,处理业务的客户信息。在众多变量中,有main_phone cell_phoneoffice_phone来存储客户端的各种电话号码。这些变量在整个项目中使用。

客户已要求我们将其显示为Phone 1 Phone 2Phone 3,而不是Main Phone Cell PhoneHome Phone。他们想要这种改变的理由是合理的。

我的问题是,您是否会梳理整个项目并更改所有变量名称(项目中的许多位置)或只是更改变量显示给用户的方式(一个位置),而不是基础变量名称本身?

我觉得后一个选项风格很差,因为变量名不再解释存储在该变量中的数据。

你的想法?

由于

5 个答案:

答案 0 :(得分:6)

诚实?我会用一个:main_phone数组类型替换三个变量:cell_phoneoffice_phonephones。由于手机难以区分,为什么要保留三个不同的变量?只需致电phones[0]phones[1]等。考虑到关系数据库时,这也是一种更好的设计。

另一个好处是能够无缝添加第四部手机,如果它成为一项要求。

将来考虑将phones数组包装到Phones对象/结构中。更好的封装将阻止需求发生变化时所需的大量更改(请参阅:shotgun surgery)。

如果您无法承担如此巨大的重构费用,则应更改名称以反映其含义。如果您使用静态类型语言,这是相当简单和安全的。否则聪明的正则表达式应该可以解决问题。

答案 1 :(得分:2)

需求更改需要一个电话号码列表,因此我实际上会将代码重构为一组电话号码而不是单个字段。然后,当客户再次更改要求时,您可以非常简单地添加电话号码类型...您可以添加更多电话号码,删除它们等。与电话号码相关的代码将变得非常可维护。 (我本来建议使用具有电话类型属性的电话号码集合,以准确处理这些类型的场景。)

此外,您描述的过程称为重构,并且根据您的语言和IDE,有一些功能和/或插件可以帮助完成此过程。许多现代IDE都有基本的重构,例如内置Rename(Eclipse,Idea,Visual Studio。)

答案 2 :(得分:0)

如果我有时间完全测试我的项目,我会更改变量名称。

后一种选择永远是一个不好的替代品,如果您不必修复它并完全测试您的项目,请使用它。

答案 3 :(得分:0)

我觉得这是纯粹的上下文问题,如果预算支持,整理项目很好,因为它提供了前端和代码之间的明确关系。否则只需更改名称即可。优秀的程序员可以轻松地将显示文本与相应的后端代码相关联,以及代码遍历和简单的经济变更。

答案 4 :(得分:0)

不,我不会改变它们。在几个月的时间里,他们会说一些类似于你可以在Phone1,Phone2,Phone3变量中订购手机,工作,移动电话,家用电器的情况,除非你当然要坚持他们的工作量。是因为你没有手机集......

创建一个带有名称数组的noddy类/结构(可能甚至可以从资源中填充),然后设置显示名称,它会让你获得你需要的位置,并且只会是一小部分额外的与查找每个显示标题并进行更改相比较。

不要忘记验证之类的事情。 “家庭电话不能空白”,当它现在被称为Phone3会激怒人们。

这是一个很好的学习者,打赌“你”不会再犯这个错误。