我迷上了我使用的数组和变量的最佳名称,我会在词库,词典等中查找单词。

所以我试图命名这个数组/结构:

$nameMe = array(
    '392' => TRUE,
    '234' => TRUE,
    '754' => TRUE,
    '464' => TRUE,
);

它用于检查该id是否具有某种属性,如此

if(isset($name[$id])) {
    doSomething();
}

问题是我得到了很长的变量名,比如

$propertyNameArrayIdIndexed

关于如何更好地命名数组的这个特定功能的任何想法?或更好的名字

有帮助吗?

解决方案

$hasProperty[$id]

$isSomething[$id]

究竟属性是什么?

$isOdd[$id]
$isWriteable[$id]
$hasAssociatedFile[$id]

其他提示

长变量名称没有错,只要它们描述变量正在做什么,而不是如何声明或定义它。

我会丢弃<!>“;数组<!>”;来自变量名称。

使用该数组的函数可以命名为:

IsPropertyAvailable?($ ID)

或只是

IsAvailable?($ ID)

适当封装时。

因此,查询的关联数据结构可以命名为

$ availableIds

通过<!>“;角色<!>”命名变量; (在UML意义上)不是他们的类型。因此,变量的正确名称应该在很大程度上取决于其使用的位置和方式。仅仅知道数据结构的类型并不足以给它一个恰当的名称。因此,假设您有一个属性枚举,每个属性都可以作为图标呈现。我会忽略任何类型的指示,并声明它类似Set<Property> displayableIcons

即使您使用的是匈牙利表示法,实际类型也不应该是名称的一部分,但是某些类型限定符或非正式子类型的指示可能没有问题,例如String b64JpgMugshot

您希望您的代码尽可能像普通英语一样阅读。用简单的英语,你最终会得到类似的东西;

如果车是红色的   做红车的事情

所以我的建议是避免在变量的命名中引入不必要的computerese('array','property','index'等)。您的编程语言强加<!> quot; isset <!> quot;在你身上那很好,这清楚表明你有一系列布尔值,意味着你可以简单地说;

if(isset(red [car_idx]))   DoSomething的();

总结:我认为数组应该简单地命名为您要测试的属性。如果属性的名称是一个很好的英语形容词,无论是否适用于名词,即使没有isset(),数组的布尔性质也很明显。如此简单;

红色[],长圆形[],大[]

Not IsRed [],IsOblong [],IsLarge []因为额外的<!>“是<!>”;除了isset()中的一个是多余的。

propertyNameable,IspropertyNameable。

你的数组只包含true?如果是这样,我会说你的数据结构改为:

$availableIds = array(392, 234, 754, 464);

然后你的if语句更有意义:

if (in_array($myId, $availableIds)) { ... }

我只是使用dah []。

我同意其他评论者认为这个问题似乎缺乏适当简洁命名的正确背景,但是像['foo'],启用['bar']或准备['ack']这样的通用可能有效。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top