![]() |
![]() |
![]()
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 |
|
|
![]() |
![]()
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
![]() Może się przyda: http://leehblue.com/camelcase-to-snake_case/ ![]() |
|
|
![]()
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 |
|
|
![]()
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. |
|
|
![]()
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 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.08.2025 - 15:40 |