nette/coding-standard RequireNumericLiteralSeparatorSniff.RequiredNumericLiteralSeparator
- motorcb
- Člen | 552
Ahoj,
s velkou oblibou používám (php7.4). Nyní mi po aktualizaci začal
házet chybu:
Use of numeric literal separator is required.
Reported by: "SlevomatCodingStandard\Sniffs\Numbers\RequireNumericLiteralSeparatorSniff.RequiredNumericLiteralSeparator"
Na tomto řádku je: if ($toChannelId == -1111444567589)
Podle dokumentace bych měl přepsat na:
if ($toChannelId == -1_111_444_567_589)
To se mi úpmně nechce :-) Dá se nějak toto 1 pravidlo vypnout?
Díky
- Polki
- Člen | 553
Záleží, jaký code sniffer používáš, ale určitě to jde. Bude to
napsáno v dokumentaci.
Pokud používáš například orisai/coding-standard, tak máš 5 možností a
to buď vypnout dané pravidlo
v phpcs.xml globálně:
<rule ref="Name.Of.The.Sniff">
<exclude-pattern>src/Example\.php</exclude-pattern>
</rule>
v daném souboru na začátku:
<?php
// phpcs:ignoreFile
daný kus kódu mezi komentáři
// phpcs:disable
echo 'some php code';
// phpcs:enable
konkrétní řádek:
// phpcs:ignore
echo 'some php code';
nebo úplně dané pravidlo vypnout globálně pro celý projekt:
<ruleset>
<rule ref="./vendor/orisai/coding-standard/src/ruleset-8.0.xml">
<exclude name="Name.Of.The.Sniff"/>
</rule>
</ruleset>
No a každý se dá zapnout globálně pro všechny Errory, nebo vyjmenovat
jen ty, které se mají ignorovat.
Doporučuju ale přepsat ty čísla. Je to lepší, čitelnější apod.
Určitě na to bude nějaký skript, nebo neumí to opravit automaticky?
Editoval Polki (19. 10. 2021 20:29)
- Marek Bartoš
- Nette Blogger | 1280
To co píše @Polki se týká PHP_CodeSniffer, na kterém jsou orisai, nette i další sady pravidel založené, takže to můžeš použít. Nejjednodušší je vypnout pravidlo kompletně tak, že ho excludneš z importované sady pravidel, takto:
<ruleset>
<rule ref="./vendor/path/to/ruleset.xml">
<exclude name="SlevomatCodingStandard.Numbers.RequireNumericLiteralSeparator"/>
</rule>
</ruleset>
Já ten sniff mám rád, ale chápu, bohužel nepodporuje automatickou opravu.
Editoval Marek Bartoš (19. 10. 2021 22:04)
- David Grudl
- Nette Core | 8239
Vem si inspiraci, jak vypnout konkrétní pravidlo, tady https://github.com/….6.3/ecs.php