【发布时间】:2018-04-23 12:37:00
【问题描述】:
例如:在奏鸣曲管理中,单个管理类总是有重复的语法,如
$formMapper->add('test', null, ['label' => 'testlabel']);
$formMapper->add('test1', null, ['label' => 'testlabel1']);
$formMapper->add('test2', null, ['label' => 'testlabel2']);
在这种情况下,如果我使用 add 方法添加多个字段,我们的质量门会告诉我,这是使用“标签”字符串超过 2 次的代码异味。我应该为该字符串添加一个常量...
现在有很多类充满常量是好还是坏
const KEY_LABEL = 'label'
$formMapper->add('test2', null, [self::KEY_LABEL => 'testlabel2']);
???
我不知道,有什么好处..如果有一天标签键会改变,这是由框架给出的,我必须以任何方式对这些东西进行更改...
【问题讨论】:
-
我看不出有任何理由使用它作为常量。代码嗅探器并不总是正确的。
-
我建议不要更改您使用的捆绑包的工作方式。正如您正确指出的那样,标签可能会更改,您不希望仅仅为了更改标签就必须遍历整个代码库。如果不是零,收益实际上接近于零。正如@Andrew 所说,代码嗅探器并不真正理解他们正在检查的代码,在这种情况下,他们只是愚蠢。
-
除了@tchap 我认为只使用PSR2就足够了。 /usr/local/bin/phpcs --standard=PSR2.
-
很遗憾,代码质量显然可能会因为这些奇怪的规则而变得糟糕......
标签: php symfony sonata-admin code-standards