narzędzie sprawdzające zgodność z konwencjami, camelCase vs snake_case, phpDoc itp. |
narzędzie sprawdzające zgodność z konwencjami, camelCase vs snake_case, phpDoc itp. |
29.10.2013, 18:03:44
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 |
|
|
29.10.2013, 21:43:25
Post
#2
|
|
Grupa: Zarejestrowani Postów: 3 033 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
Może się przyda: http://leehblue.com/camelcase-to-snake_case/ |
|
|
29.10.2013, 21:59:10
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 |
|
|
30.10.2013, 13:42:44
Post
#4
|
|
Grupa: Zarejestrowani Postów: 63 Pomógł: 3 Dołączył: 27.08.2008 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 Może się przyda: http://leehblue.com/camelcase-to-snake_case/ 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. |
|
|
30.10.2013, 14:02:54
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ć 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 ... -------------------- Despite the tons of examples and docs, mod_rewrite is voodoo. Damned cool voodoo, but still voodoo. --Brian Moore
I never go looking for a sucker. I look for a Champion and make a sucker of of him. --Amarillo Slim Home-made : js-gui-classes | Accordion | Tabs | Carousel / php-sms-classes | Obsługa bramki SMS MultiInfo | Obsługa bramki SMS Mobiltek |
|
|
Wersja Lo-Fi | Aktualny czas: 25.04.2024 - 02:18 |