Nette coding standards – Změna – od 2.4 nebo 3.0?

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Zuben45
Člen | 268
+
+1
-

Všiml jsem si, že nyní @DavidGrudl přepsal v dokumentaci o coding standards TRUE/FALSE/NULL na lowercase, takže od nynějška už se bude používat lowercase ? A v jaké verzi bude zahrnuta ? 2.4 nebo 3.0 ?

Díky :)

Ve svém kódu dodržuji Nette coding standards, takže pokud tomu tak je, mám dost práce s přepisováním :)

Editoval Zuben45 (14. 7. 2017 10:52)

David Matějka
Moderator | 6445
+
+3
-

praci s prepisovanim nemas :) https://github.com/…ing-standard

Zuben45
Člen | 268
+
0
-

David Matějka napsal(a):

praci s prepisovanim nemas :) https://github.com/…ing-standard

díky :)

EDIT: Nevím proč, ale utilitka mi vyhodí

[RuntimeException]
Index invalid or out of range

EDIT2: Po více spuštěních už funguje, asi moc souborů :)

EDIT3: Jen nechápu, proč mi do souborů nahodí 60 prázdných řádku :)

Editoval Zuben45 (14. 7. 2017 11:24)

David Grudl
Nette Core | 8227
+
+8
-

Ano, změnil jsem coding standard Nette, TRUE/FALSE/NULL se nyní píše malými písmeny.

Ale coding standard Nette je určen čistě pro kód Nette, není to žádný závazek pro kód používající Nette, nebo pro doplňky pro Nette atd. Tudíž jsem změnu konzultoval pouze s Milem, který píše kód pod Nette, a ten s tím souhlasil.

Vůbec to neznamená, že byste měli něco přepisovat, není k tomu důvod. Klidně ve svém kódu dál dodržuj Nette Coding Standard „v2.3“.

Jednotlivé nuance coding stylů nejsou vůbec podstatné, podstatné je ho dodržovat v celém projektu.

Zuben45
Člen | 268
+
+2
-

David Grudl napsal(a):

Ano, změnil jsem coding standard Nette, TRUE/FALSE/NULL se nyní píše malými písmeny.

Ale coding standard Nette je určen čistě pro kód Nette, není to žádný závazek pro kód používající Nette, nebo pro doplňky pro Nette atd. Tudíž jsem změnu konzultoval pouze s Milem, který píše kód pod Nette, a ten s tím souhlasil.

Vůbec to neznamená, že byste měli něco přepisovat, není k tomu důvod. Klidně ve svém kódu dál dodržuj Nette Coding Standard „v2.3“.

Jednotlivé nuance coding stylů nejsou vůbec podstatné, podstatné je ho dodržovat v celém projektu.

Děkuji, zajímalo mě to hlavně kvůli PR. Osobně si kód rád přizpůsobím Nette coding standardu :)

David Grudl
Nette Core | 8227
+
+2
-

Zuben45 napsal(a):

Děkuji, zajímalo mě to hlavně kvůli PR. Osobně si kód rád přizpůsobím Nette coding standardu :)

Jasně, chápu :-)

PR už by se měly automaticky kontrolovat, zda CS vyhovují.

Tomáš Votruba
Moderator | 1114
+
+1
-

@Zuben45 Rád ti pomůžu s tou výjimkou. Můžeš založit issue na https://github.com/…ndard/issues

Nejlíp s PHP třídou, na které to failuje. Tu zjistíš tak, že ecs check src specifikuješ na ecs check src/SomeDirectory/SomeFile.php.

Editoval Tomáš Votruba (14. 7. 2017 13:36)

Zuben45
Člen | 268
+
+1
-

Tomáš Votruba napsal(a):

@Zuben45 Rád ti pomůžu s tou výjimkou. Můžeš založit issue na https://github.com/…ndard/issues

Nejlíp s PHP třídou, na které to failuje. Tu zjistíš tak, že ecs check src specifikuješ na ecs check src/SomeDirectory/SomeFile.php.

Díky @TomášVotruba, jdu zjistit jaký to failuje (v kontrole 495 souborů :)) No když spustím znovu tak pokračuje, takže vždy asi smazat cache ?

EDIT: již vyskakuje i při

vendor/bin/ecs check --clear-cache app/

ale jen občas

EDIT2: @TomášVotruba tak jsem zjistil příčinu, měl jsem v projektu 2 prázdné php soubory :), Ale ty nové řádky jsou opravdu otravné (vždy při fixu se na začátek opravovaných přidá X nových řádku za <?php), v jedné třídě jsem jich měl i přes 1200 :/

Editoval Zuben45 (14. 7. 2017 14:14)

Zuben45
Člen | 268
+
0
-

Tak se mi stává ještě jedna věc,
zavolám

vendor/bin/ecs check app/ --config vendor/nette/coding-standard/coding-standard-php71.neon

ten vrátí:

[ERROR] Found 1226 errors.
[OK]  ALL of them are fixable! Just add "--fix" to console command and rerun
     to apply.

tak zavolám:

vendor/bin/ecs check app/ --config vendor/nette/coding-standard/coding-standard-php71.neon --fix

a dostanu:

[OK] No errors found. Great job - your code is shiny in style!

A co těch 1226 chyb ?

EDIT: Založeny issues ;)

Editoval Zuben45 (14. 7. 2017 15:02)

David Grudl
Nette Core | 8227
+
+2
-

Ty se fixly. Ale souhlas, že mě to taky zmátlo, měla by tam být o tom informace.

Tomáš Votruba
Moderator | 1114
+
0
-

@Zuben45 @DavidGrudl To dává smysl, issue vytvořeno: https://github.com/…y/issues/263

ali
Člen | 342
+
0
-

Napada nekoho, proc NoWhitespaceInBlankLineFixer mi udela nasledujici „neplechu“ s doc komentari?

Kdyz pouziju fix, tak mi to odsadi dva prazdne radky (viz kode nize), kdy kod znovu zkontroluju, nalezne to dalsi chyby. Kdyz ho nepouziju, nenalezne se zadna chyba.

	# ...and at the end of blank lines.
	- PhpCsFixer\Fixer\Whitespace\NoWhitespaceInBlankLineFixer

Original:
1/1 [============================] 100%
------ ---------------------------------------------------------
Line vendor/aleswita/formrenderer/src/controls\Link.php
------ ---------------------------------------------------------
1 Remove trailing whitespace at the end of blank lines.
(PhpCsFixer\Fixer\Whitespace\NoWhitespaceInBlankLineFixer)
------ ---------------------------------------------------------

class Link extends Nette\Forms\Controls\Button
{
	/**
	 * @param string|object
	 */
	public function __construct($caption = null)
	{
		parent::__construct($caption);
		$this->control = Nette\Utils\Html::el('a');
	}


	/**
	 * @return bool
	 */
	public function isFilled(): bool
	{
		return false;
	}


	/**
	 * @param string|object
	 * @return void
	 */
	public function getLabel($caption = null): void
	{
	}


	/**
	 * @param string|object
	 * @return Nette\Utils\Html
	 */
	public function getControl($caption = null): Nette\Utils\Html
	{
		$this->setOption('rendered', true);
		$el = clone $this->control;

		$el->setText($this->translate($caption === null ? $this->caption : $caption));

		if ($this->isDisabled()) {
			$el->addClass('disabled');
		}

		return $el;
	}
}

After fix:
[OK] 4 errors successfully fixed and no other found!

class Link extends Nette\Forms\Controls\Button
{
	/**
	 * @param string|object
	 */
	public function __construct($caption = null)
	{
		parent::__construct($caption);
		$this->control = Nette\Utils\Html::el('a');
	}


	/**


	 * @return bool
	 */
	public function isFilled(): bool
	{
		return false;
	}


	/**


	 * @param string|object
	 * @return void
	 */
	public function getLabel($caption = null): void
	{
	}


	/**


	 * @param string|object
	 * @return Nette\Utils\Html
	 */
	public function getControl($caption = null): Nette\Utils\Html
	{
		$this->setOption('rendered', true);
		$el = clone $this->control;

		$el->setText($this->translate($caption === null ? $this->caption : $caption));

		if ($this->isDisabled()) {
			$el->addClass('disabled');
		}

		return $el;
	}
}
Zuben45
Člen | 268
+
0
-

ali napsal(a):

Napada nekoho, proc NoWhitespaceInBlankLineFixer mi udela nasledujici „neplechu“ s doc komentari?

Kdyz pouziju fix, tak mi to odsadi dva prazdne radky (viz kode nize), kdy kod znovu zkontroluju, nalezne to dalsi chyby. Kdyz ho nepouziju, nenalezne se zadna chyba.

Tohle se už řeší – https://github.com/…rd/issues/13

Editoval Zuben45 (17. 7. 2017 11:31)

ali
Člen | 342
+
0
-

Ou, sorry, prehlidl jsem 😟

Zuben45
Člen | 268
+
0
-

ali napsal(a):

Ou, sorry, prehlidl jsem 😟

v pořádku, aspoň se teď ví, že nejsem jediný ;)