缩写或完整名称?

时间:2011-12-16 09:25:35

标签: java coding-style naming-conventions

建议类型名称和可取名称应避免使用缩写。即使使用现代宽屏幕显示器,也建议源线宽度应为80或最多120个字符。

以下是我们真实项目中的一行:

final PimAuthoringApplicationMappingReader pimAuthoringApplicationMappingReader = 
      new PimAuthoringApplicationMappingReader(pimAuthoringApplicationMappingFile);

一个简单的新操作占用了至少2行,即使我们已经在这里使用了缩写(Pim = ProIntralink Merge)。

虽然以这种方式很容易理解每​​个单词,但它使一个简单的方法更长,因此难以在屏幕中拟合一个方法。

问题:处理此案件的更好方法是什么?建议使用“合理”缩写 - 例如:

 final PimAuthAppMapReader pimAuthAppMapReader=new PimAuthAppMapReader(pimAuthAppMapFile);

4 个答案:

答案 0 :(得分:3)

这是一个熟悉的问题,我正在研究的Java项目有一些类让我因为同样的原因而抓狂。我在缩短类名之前缩短了局部变量名,但如果结果合理,我可以缩短类名。

打破使局部变量与其类型相同的约定在这些情况下释放了相当多的空间。如果需要更多空间,我也可以缩短类型名称。

在你的例子中,我很适合缩短Application to App,但不太确定缩短Mapping to Map,因为“map”在Java中有不同的主要含义(第一个关联)。

答案 1 :(得分:2)

我一直觉得奇怪的是命名变量与实现的类(或接口)同名。缩写名称相同。

它在声明的上下文中没有提供关于对象的真实目的的信息,并且当你有多个并且使用数字作为后缀加星时它通常会变得更糟。

因此,使用一个名称来描述上下文中对象的意图,几个月后查看代码时会更容易。

答案 2 :(得分:2)

最重要的是,代码必须努力清晰度。通常,这意味着缩写,但在某些情况下,常见缩写提高清晰度。通常不会拼写首字母缩略词,但会尝试将首字母缩略词视为单词,而不是保留“全部大写字母”的首字母缩略词。
以下是我所说的例子:

HtmlRequest (not HTMLRequest)
App instead of Application
XmlProcessr instead of XMLProcessor
etc

不要担心页面宽度。担心可读性!

答案 3 :(得分:2)

我会保持类名称冗长,并将变量名缩短为更合理的名称。看看你的例子,我认为这是一个合理的努力:

final PimAuthoringApplicationMappingReader pimMappingReader = 
      new PimAuthoringApplicationMappingReader(pimMappingFile);

请记住,阅读代码的人可以在

时轻松引用变量类型
  1. 为特定目的定义您的类
  2. 简化您的方法
  3. 声明您使用它们的变量
  4. 如果没有其他类型被定义为具有非常相似的名称,我的上述示例是有意义的。您甚至可以争辩说,如果在同一方法中没有其他事情发生并且变量是本地范围的,那么这仍然有意义

    final PimAuthoringApplicationMappingReader pimReader = 
          new PimAuthoringApplicationMappingReader(pimFile);
    

    我不会缩短类名,因为您可能在没有任何上下文的情况下阅读它们(例如API文档,配置文件等)

    但最重要的是尝试一致地编码。如果已使用某个样式,请遵循该样式,除非您让所有人同意更改它。

相关问题