首字母缩略词,你使用它们吗?为什么?

时间:2014-02-11 14:53:03

标签: language-agnostic coding-style acronym

我个人认为这在软件开发中是一种不好的做法(参见Robert C. Martin的清洁代码)。但我很想知道为什么人们仍在使用它们。

我在谈论文件名,变量名,类名,函数名等的首字母缩略词。

如果你回答,请说明背景(例如:语言,大/小公司)。

编辑:我不是在谈论常识的技术首字母缩略词(例如:sql,html,css等),而是商业中的首字母缩略词。

两个例子:

1)在每个班级名称之前加上代表公司的两个字母

SuperCompany: SCNode, SCObject

2)特定的模块名称

Graphic: GRTexture, GRMaterial

3 个答案:

答案 0 :(得分:3)

这个问题没有正确答案,但我认为如果另一个程序员立即知道它的扩展或意义,你应该只使用首字母缩略词。常见示例包括dvdPlayercssClass等名称,其中较长的版本会降低代码的可读性。

如果您有疑问,请不要使用首字母缩略词,但不要将您的班级HypertextTransferProtocolRequest称为HttpRequest而不是{{1}},因为严格的非首字母缩略词编码。

答案 1 :(得分:1)

背景:中型公司
领域:医学工程
语言:Python,JavaScript,C / C ++,Perl等。

有许多理由不在源代码中使用首字母缩略词,但在我们的情况下,我们由FDA和其他几个要求我们在整个“系统”中放置非代码相关注释的政府机构进行门控/监管。 (用于审计/文档目的) - 我无法看到如何在不使用首字母缩略词的情况下完成此过程。

另一方面:如果给出了选择,我不会添加他们要求我们添加到源代码中的90%,这将有效消除所有深奥的歧义(缩略语和规则跟踪数字)在我们的代码中。

所以,是的,我使用它们,不,我不愿意 - 但我的行业需要它。

答案 2 :(得分:1)

你确定'干净的代码'能说出任何有关首字母缩略词的内容吗?我认为它说的是可读性。首字母缩略词并不总是不可读和毫无意义。至少有两种情况需要首字母缩略词。

一种是其他程序员(css,html,DAO,DTO,regExp,sql等)很好理解的技术语言,你不应该避免它们,它们是一等公民。试着替换它们,你会与其他开发者产生很多误解。

第二条规则是:使用客户使用的相同语言。他们不会改变他们使用的名字。他们有自己的缩略语(因为我们有SQL,CSS等)。如果您开始在代码中更改它,您很快就会对业务产生很多误解