对于我目前正在使用的代码库,这已经变得非常沮丧。我们的许多变量名都很简短且没有描述性。我是该项目上剩下的唯一一名开发人员,并且没有关于它们大多数功能的文档,因此我不得不花更多的时间来跟踪它们的含义。
例如,我正在阅读一些更新光学表面定义的代码。开始时设置的变量如下:
double dR, dCV, dK, dDin, dDout, dRin, dRout
dR = Convert.ToDouble(_tblAsphere.Rows[0].ItemArray.GetValue(1));
dCV = convert.ToDouble(_tblAsphere.Rows[1].ItemArray.GetValue(1));
... and so on
也许只是我一个人,但实际上它们告诉我的内容并没有告诉我,这使得进一步理解代码变得困难。我所知道的是,它是一个变量,该变量从某个地方的特定表中解析出特定行。经过一番搜索,我发现了它们的含义:
dR = radius
dCV = curvature
dK = conic constant
dDin = inner aperture
dDout = outer aperture
dRin = inner radius
dRout = outer radius
我将它们重命名为基本上我在那里所拥有的。它延长了一些行,但是我觉得这是一个公平的权衡。但是,在许多代码中都使用了这种命名方案。我不确定这是来自开发人员的作品,他们是通过使用较旧的系统而学习的,还是背后有更深层的原因。是否有充分的理由以这种方式命名变量,还是我在遇到变量时将其更新为更具描述性的名称是否合理?
dK = conic constant
。