Coding style 常规编程--更改变量名还是仅更改显示名?

Coding style 常规编程--更改变量名还是仅更改显示名?,coding-style,Coding Style,我正在从事一个即将完成的项目,该项目处理企业的客户信息。在众多变量中,有:main\u phonecell\u phone和office\u phone用于存储客户的各种电话号码。这些变量在整个项目中都使用 客户要求我们将其显示为Phone 1Phone 2和Phone 3,而不是主手机和家庭电话。他们要求这一改变的理由是合理的 我的问题是,您会梳理整个项目并更改所有变量名(项目中的许多位置),还是只更改变量向用户显示的方式(一个位置),而不是基础变量名本身 我觉得后一个选项的风格很差,因为变量

我正在从事一个即将完成的项目,该项目处理企业的客户信息。在众多变量中,有:
main\u phone
cell\u phone
office\u phone
用于存储客户的各种电话号码。这些变量在整个项目中都使用

客户要求我们将其显示为
Phone 1
Phone 2
Phone 3
,而不是
主手机
家庭电话
。他们要求这一改变的理由是合理的

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

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

你的想法


真的谢谢你?我将把三个变量替换为数组类型的一个:
phones
cell\u phone
office\u phone
。既然手机无法区分,为什么要保留三个不同的变量?只需调用
电话[0]
电话[1]
,等等。考虑到关系数据库,这也是一个更好的设计

另一个好处是,如果需要,可以无缝添加第四部手机

将来考虑包装<代码>电话< /代码>数组进入<代码>电话< /Cord>对象/结构。更好的封装将防止在需求发生变化时需要如此大规模的变化(请参见:)


如果您负担不起执行如此巨大的重构,那么您应该更改名称以反映其含义。如果您使用的是静态类型语言,那么这是相当简单和安全的。否则,聪明的正则表达式应该可以做到这一点。

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


后一个选项总是一个差劲的替代品,如果您不必修复它并完全测试您的项目,就可以使用它。

我觉得这是一个纯粹的上下文问题,如果预算支持,梳理整个项目是好的,因为它在前端和代码之间提供了清晰的关系。否则,仅仅改变名字就足够了。优秀的程序员可以很容易地将显示文本与代码遍历和简单经济更改中相应的后端代码联系起来。

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


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

不,我不会更改它们。几个月后,他们会说,你能在电话1、电话2、电话3变量中订购电话、工作、手机、家庭吗?当然,除非你会因为你没有电话集合而增加工作量

创建一个具有名称数组(甚至可能是从资源中填充的)的noddy类/结构,然后根据该数组设置显示名称,这将无法让您到达需要的位置,并且与查找每个显示标题并更改它相比,只需要很少的额外工作

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


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

很好的决定——在设计阶段,只有3个数字——主数字、单元数字和办公室数字似乎是相当合理的。在设计系统时,你应该支持的唯一数字是0、1和N。