Nette coding standards – Změna – od 2.4 nebo 3.0?
- Zuben45
- Člen | 268
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)
- Zuben45
- Člen | 268
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
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
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
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
@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
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š naecs 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
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
Ty se fixly. Ale souhlas, že mě to taky zmátlo, měla by tam být o tom informace.
- Tomáš Votruba
- Moderator | 1114
@Zuben45 @DavidGrudl To dává smysl, issue vytvořeno: https://github.com/…y/issues/263
- ali
- Člen | 342
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
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)