pionl / smart-emailing-v3

Wrapper for SmartEmailing API v3 version in PHP
MIT License
13 stars 14 forks source link

Start using coding standard and strict types #10

Closed stanislav-janu closed 1 year ago

stanislav-janu commented 3 years ago

Bylo by dobré začít používat nějaký coding standard a deklarování striktních typů. Kód je teď dosti zastaralý. Pokud na tom bude shoda, tak bych na tom začal dělat, ale nechci to dělat zbytečně.

Navrhuji použít https://github.com/nette/coding-standard

Souhlasí především @pionl?

kubec commented 3 years ago

Ano, kod by chtel trochu ucesat, pojdme to trochu vylepsit.

pionl commented 3 years ago

Souhlasím, nemám s tím problém. Osobně používám nyní používám jiný setup, ale nechám to klidně na Vás. PHPStan se nám teď osvědčil.

Níže je setup pro phpcsfixer co interně používám na Laravel.

<?php
$finder = PhpCsFixer\Finder::create()
    ->in(__DIR__ . '/app')
    ->in(__DIR__ . '/tests')
    ->in(__DIR__ . '/database')
    ->in(__DIR__ . '/routes')
    ->name('*.php')
    ->notName('*.blade.php')
    ->ignoreDotFiles(true)
    ->ignoreVCS(true);

return PhpCsFixer\Config::create()
    ->setRules(array(
        '@PHP73Migration' => true,
        '@Symfony' => true,
        'align_multiline_comment' => true,
        'array_indentation' => true,
        'array_syntax' => ['syntax' => 'short'],
        'no_superfluous_phpdoc_tags' => true,
        'yoda_style' => false,
        'concat_space' => ['spacing' => 'one'],
        'phpdoc_to_comment' => false,
    ))
    ->setFinder($finder);
stanislav-janu commented 3 years ago

Mě se na našich projektech osvědčilo používání Nette Code Standard (vychází z toho, že Nette používáme), Rector a PHPStan. Pokud bych tedy úpravu dělal já, tak na nette cs...

pionl commented 2 years ago

Ahoj @stanislav-janu, @keltuo

navrhuji použít ECS a rector. používám nyní toto https://github.com/wrk-flow/larastrict/blob/main/ecs.php a https://github.com/wrk-flow/larastrict/blob/main/rector.php

Ale můžeme to "upravit" na nižší PHP verzi. Jakou chcete?

stanislav-janu commented 2 years ago

Pokud by všem vyhovovalo, nasadil bych to co používám u balíčku janu-software/facebook-php-sdk

pionl commented 2 years ago

Osobně bych vynechal to NETTE_CODE_QUALITY ať je to není framework based (už tak to myslím ale má by default "symfony" code styles).

Já používám toto https://github.com/wrk-flow/larastrict/blob/main/rector.php + ecs bych nasadil (používám tot https://github.com/wrk-flow/larastrict/blob/main/ecs.php

pionl commented 1 year ago

nasazeno v rámci #24 :)