我的方法或变量名是否太长?[关闭]


15

所以我目前正处于编码中间,对我来说,不幸的是,我处于“ The Zone”中,然后我对自己想,我的方法/变量名称长吗?

POP走出我的区域!

所以我来这里问,我的方法/变量名是否太长?你是法官!奖励指向可以弄清楚我在写什么的人,尽管我敢肯定,上师会很快弄清楚!

无论如何,这是我的一些方法和变量名。

方法:searchBlockedListForBlockedSquares(),isCurrentSquareNextToAtLeastOneBlockedSquare(),searchBlockedListForBlockedSquares()

变量:isNextToBlockedSquares;

我猜只有一个似乎太长的变量。


Answers:


31

就长度而言,您的名字对我来说似乎还可以。但是,它们的命名方式表明可能有些新类井井有条?

例如,而不是searchBlockedListForBlockedSquares()你可以有blockedList.getBlockedSquares()。同样,isCurrentSquareNextToAtLeastOneBlockedSquare()变为currentSquare.isAdjacentToABlockedSquare()


我一直在寻找相邻的单词!谢谢=)
Bryan Harrington

@Bryan:不客气。:)
亚当·李尔

11

我相信描述性变量名,即使这意味着变量名很长。随着智能感知技术的流行,我认为它不会对生产率产生太大影响。

我讨厌缩写,因为几乎不可能始终使用它们。另外,它们可能是模棱两可的,并且确实使事情变得更难以阅读。即使它们是标准的一部分,我也不喜欢它们。另外,除非涉及到很多缩写,否则他们不会删除那么多字母。缩写太多会破坏可读性。

长名称所带来的最大问题是代码行可以变成多长。用长名调用一个函数并传递两个或三个长变量名可以组成一长行代码。因此,我确实尽力使我的名字尽可能短,即使是换行或滚动,我也希望使用描述性的名字。

不过,从您的示例名称来看,所有以BlockedSquares结尾的事实使我认为部分名称可能是多余的。实际上,这也可能意味着这些项目可以封装到自己的类中,该类可能名为BlockedSquares。这一更改使名称缩短了很多。


5

如果变量名称不能明确说明其用途,则长度错误。这适用于太短或太长。

简短的变量名可以是模棱两可的,或者更糟的是与变量的含义无关。在使用BASIC进行解释的时代,我们被解释器限制为两个字符名称。在大型程序中很难找到有意义的名称。单字母变量名称通常用于for循环和计数器,但我认为应避免使用它们。for (i = 0; i < 10; i++) {...}用途i,这很普遍。j是辅助变量名称。

当长变量名变得冗长或充满空词时,它们将太长,从而使它们的长度超出了必要。如果我有一堆类似命名的变量,我将尝试删除可有可无的通用部分,并保留名称的唯一标识部分。

如果我是在Ruby中执行的,则将其命名为“ isCurrentSquareNextToAtLeastOneBlockedSquarecurrentSquareNextToBlockedSquare?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.