Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: narzędzie sprawdzające zgodność z konwencjami
Forum PHP.pl > Forum > Kontrola i zarządzanie projektami
MatKus
Witam

Przymierzam się do większego projektu i chcę wszystko wreszcie zrobić porządnie. Jako, że nie będe nad projektem sam pracował (na razie będzie nas 5, a później się okaże), postanowiliśmy uzgodnić pewne zasady co do stylu pisania. Problem tylko w tym, żeby tych zasad przestrzegać.
Szukam więc narzędzia, które mi będzie wytykało błędy, które nie są błędami w rozumieniu samego PHP, a tylko w rozumieniu ładnego kodu.

oczywiście każde sensowne IDE ma układanie kodu, które porobi ładnie wcięcia itp. ale chcę czegoś więcej.

Przykładowo, przyjęliśmy, że będziemy stosować snake_case. Narzędzie powinno więc wyłapać wszelkie wystąpienia CamelCase.
Narzędzie powinno także podpowiedzieć, że funkcja x nie ma opisu zgodnego z PHPDoc.
Chcemy też wystrzegać się zmiennych, których nazwy nic nie mówią, więc fajnie by było, gdyby narzędzie sprawdzało długość nazw zmiennych i raportowało zapisy, jakie widzę niekiedy typu
foreach ($tablica as $a=>$b)
{
foreach($b as $c=>$d) ...................
}
itd. bo zrozumienie potem, co się w takim miejscu dzieje graniczy z cudem.

Idealnie by było, gdyby narzędzie sprawdzało jeszcze, czy używane nazwy są w słowniku i np. czepiało się zmiennej $xxxxx, ale nie zmiennej $something, (chociaż pewnie tu już chyba za wiele wymagam)

Znalazłem takie coś jak PHP_CodeSniffer, ale tutaj trzeba sporo czasu poświęcić na popisanie samodzielnie skryptów rozpoznających konkretne reguły, więc może ktoś zna coś podobnego, tylko gdzie można by sobie wyklikać to wszystko lub poustawiać w jakimś prostym do zrozumienia pliku konfiguracyjnym?

Zaznaczam, że jestem skłonny zapłacić nawet za takie narzędzie, o ile nie będą to ceny liczone w tysiącach dolarów i o ile będzie wersja demo, która mnie przekona.
com
może nie na temat ale skoro już mowa o standardach to zastanawia mnie czym kierowaliście wybór snake_case?? zapewne o standardach psr-0,1,2,3 nie słyszeliście to być może przyda się lektura https://github.com/php-fig/fig-standards/tr...master/accepted wink.gif

Może się przyda: http://leehblue.com/camelcase-to-snake_case/ biggrin.gif
lipek3
Witam,

Wg mnie powinieneś skonfigurować sobie takie narzędzie jak sonarsource z pluginem do php.
Żeby to zautomatyzować jest to dobrze konfigurować z Jenkinsem, ale nie jest to konieczne do działania jeśli wolisz odpalać analizę kodu ręcznie
MatKus
Cytat(com @ 29.10.2013, 21:43:25 ) *
może nie na temat ale skoro już mowa o standardach to zastanawia mnie czym kierowaliście wybór snake_case?? zapewne o standardach psr-0,1,2,3 nie słyszeliście to być może przyda się lektura https://github.com/php-fig/fig-standards/tr...master/accepted wink.gif

Może się przyda: http://leehblue.com/camelcase-to-snake_case/ biggrin.gif

snake_case wybraliśmy, ponieważ z 12 pracowników firmy 9 woli snake_case jako czytelniejszy, 2 to wisi, co wybierzemy, a tylko 1 woli camelCase. Po prostu jest to czytelniejsze naszym zdaniem i tyle.
rocktech.pl
Witam.

Instalujesz PHPCS, PHPMD, PHPLOC, PHPCPD.

Następnie instalujesz jedną wtyczkę do NetBeansa phpcsmd która po odpowiednim skonfigurowaniu podświetli ci linie które odbiegają od standardu z upierdliwością na poziomie "SpaceInEmptyArray".
Mówisz, że ciężko ustawić reguły dla PHPCS. No cóż zachciało się wymyślać standardy to trzeba się napracować smile.gif

Oczywiście możesz to zrobić inaczej np. Phing klika targetów dla każdego z polceń (phpcd, phpmd) i żmudna analiza plików wynikowych ...
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2018 Invision Power Services, Inc.