Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> narzędzie sprawdzające zgodność z konwencjami, camelCase vs snake_case, phpDoc itp.
MatKus
post
Post #1





Grupa: Zarejestrowani
Postów: 63
Pomógł: 3
Dołączył: 27.08.2008

Ostrzeżenie: (0%)
-----


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.

Ten post edytował MatKus 29.10.2013, 19:13:22
Go to the top of the page
+Quote Post
com
post
Post #2





Grupa: Zarejestrowani
Postów: 3 034
Pomógł: 366
Dołączył: 24.05.2012

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/wink.gif)

Może się przyda: http://leehblue.com/camelcase-to-snake_case/ (IMG:style_emoticons/default/biggrin.gif)
Go to the top of the page
+Quote Post
lipek3
post
Post #3





Grupa: Zarejestrowani
Postów: 17
Pomógł: 4
Dołączył: 18.02.2008

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
MatKus
post
Post #4





Grupa: Zarejestrowani
Postów: 63
Pomógł: 3
Dołączył: 27.08.2008

Ostrzeżenie: (0%)
-----


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 (IMG:style_emoticons/default/wink.gif)

Może się przyda: http://leehblue.com/camelcase-to-snake_case/ (IMG:style_emoticons/default/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.
Go to the top of the page
+Quote Post
rocktech.pl
post
Post #5





Grupa: Zarejestrowani
Postów: 587
Pomógł: 131
Dołączył: 8.02.2010

Ostrzeżenie: (0%)
-----


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ć (IMG:style_emoticons/default/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 ...
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 09:09