nette/coding-standard RequireNumericLiteralSeparatorSniff.RequiredNumericLiteralSeparator

motorcb
Člen | 551
+
0
-

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
+
0
-

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 | 1167
+
+1
-

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 | 8129
+
0
-

Vem si inspiraci, jak vypnout konkrétní pravidlo, tady https://github.com/….6.3/ecs.php