0

就我个人而言,我认为这在软件开发中是一种不好的做法(参见 Robert C. Martin 的 Clean Code)。但我很想知道为什么人们仍然使用它们。

我说的是文件名、变量名、类名、函数名等中的首字母缩写词。

如果您回答,请说明上下文(例如:语言、大/小公司)。

编辑:我不是在谈论众所周知的技术首字母缩写词(例如:sql、html、css 等),而是在业务中的首字母缩写词。

两个例子:

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

SuperCompany: SCNode, SCObject

2) 特定的模块名称

Graphic: GRTexture, GRMaterial
4

3 回答 3

3

这个问题没有正确的答案,但我认为只有当另一个程序员立即知道它的扩展或含义时,你才应该使用首字母缩略词。常见的例子有dvdPlayeror之类cssClass的名称,较长的版本会降低代码的可读性。

如果您有疑问,请不要使用首字母缩略词,但不要调用您的类HypertextTransferProtocolRequest而不是HttpRequest,因为严格的无首字母缩略词法典。

于 2014-02-11T15:35:20.560 回答
1

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

有很多原因不在您的源代码中使用首字母缩略词,但在我们的情况下,我们受到 FDA 和其他几个政府机构的限制/监管,要求我们在整个“系统”中放置与代码无关的注释(用于审计/documentation 目的)——我看不出如果不使用首字母缩略词,我们如何才能完成这个过程。

另一方面:如果让我选择,我不会将他们要求我们添加到源代码中的 90% 添加到源代码中,这将有效地消除我们代码中所有深奥的歧义(首字母缩略词和法规跟踪号) .

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

于 2014-02-11T14:59:31.073 回答
1

你确定“干净的代码”说的是首字母缩略词吗?我认为它说的是可读性。首字母缩略词并不总是不可读和无意义的。至少有两种情况需要缩写词。

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

第二条规则是:使用与客户使用相同的语言。他们不会更改他们使用的名称。他们有自己的首字母缩写词(就像我们有 SQL、CSS 等一样)。如果你开始在你的代码中改变它,你很快就会对业务产生很多误解

于 2014-02-12T01:06:45.040 回答