Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Standardy nazwenictwa zmiennych, funkcji, klas oraz ich komentowania
Forum PHP.pl > Forum > PHP
untorched
Witam.
Możliwe, że nie ten dział i możliwe, że było o tym, jednak googluje i nic sensownego znaleźć nie moge. Poszukuję jakichś standardów dotyczących nazywania zmiennych, funkcji, klas oraz zasad i sposobów ich komentowania, aby były zrozumiałe przez inne jednostki ludzkie. W internecie znalazłem różne informacje, jedni piszą tak, a inni inaczej. Chciałbym wiedzieć jak to wygląda np. przy dużych projektach w których uczestniczy duża grupa ludzi. Zainteresowałem się tym, ponieważ chciałbym się zapoznać z takimi standardami, rozpocząć stosowanie ich w projektach czy choćby wiedzieć czego się spodziewać po bardziej zaawansowanym projekcie gdybym miał przyjemność pracy przy takowym.

Mam nadzieję, że mnie nie zjecie jak było smile.gif
Pozdrawiam.
Crozin
Google: PSR-0/1/2, phpDoc
mimol
Co w wypadku tablic?
  1. $tab = array
  2. (
  3. 'id' => 1,
  4. 'name => 'tablica',
  5. )

  1. Czy
  2. $tab = array(
  3. 'id' => 1,
  4. 'name => 'tablica'
  5. )

Osobiście stosuje wersję 2, a nie potrafię znaleźć jakie są standardy.
Czy również przyjęło się, że na końcu tablicy nie może być przecinek, czy może on sobie tam pozostać?
Crozin
Z tablicami, czy "złożonymi" parametrami dla funkcji nie ma już tak ścisłych standardów, ponieważ to co jest lepsze/czytelniejsze zależy od zbyt dużej liczby czynników. Czasami zapiszesz dwuelementową tablicę w jednej linijce, czasami rozbijesz każdy jej element do osobnej linii.

1. Przy tablicach nawias otwierający zdecydowanie powinien pojawić się przy słowie array, a ostatniego przecinka nie powinno być, bo i po co* on tam?
2. Czasami pojawiają się jednak potworki i jakoś trzeba sobie z nimi radzić. IMO poniższy kod jest zapisany w dosyć estetyczny sposób:
  1. <?
  2.  
  3. $sth->callSth('...', 123, array('jeszcze' => 'jest ok'));
  4. $sth->callSth('...', 123, array(
  5. 'jeszcze' => 'jest ok',
  6. 'tutaj coś ekstra' => array(
  7. 'e1' => 'var2',
  8. 'e5' => 'xxx',
  9. 'e23' => 'xyyyy'
  10. )
  11. ));
  12. // W powyższym można pokusić się o wyrównanie "=>" w jednej kolumnie.
  13. // Pole formularza na post na tym forum nie stosuje kroju o stałej szerokości znaku, więc w takie coś bawić się nie będę.
Czasami spotyka się nawias zamykający dla tablicy zaraz po ostatnim elemencie, tj.: [...] => 'xyyyy'), ale wg mnie nie wygląda to zbyt ładnie. Czytelność jest raczej taka sama w obu przypadkach.

* język umożliwia wstawienie dodatkowego przecinka po ostatnim elemencie tablicy, by ułatwić tworzenie różnego rodzaju generatorów/modyfikatorów kodu. Przy kodzie pisanym ręcznie jest to kompletnie niepotrzebne, w dodatku brzydko wygląda. wink.gif
thek
Crozin... a dodatkowo w przypadku niektórych języków bywa powodem błędów w określonych sytuacjach. Przykład? JavaScript. Tam przecinek po ostatnim elemencie jest dozwolony i interpretowany poprawnie na większości przeglądarek... Za wyjątkiem starszych IE, które dokumentnie nie rozumieją takiego zapisu i strzelają focha wink.gif Tak więc trzeba uważać z przyzwyczajeniami w jednym języku, ponieważ można się przejechać na standardach, które nie zawsze są przez wszystkich respektowane.
mimol
Cytat(Crozin @ 16.02.2013, 16:28:26 ) *
$sth->callSth('...', 123, array('jeszcze' => 'jest ok'));

Hmm, dla mnie też to wygląda poprawnie, jednak (używając PHPStorm, i formatowania wg PSR)
  1. $sth->callSth(
  2. '...',
  3. 123,
  4. 'jeszcze' => 'jest ok'
  5. )
  6. );

Formatuje na takie coś, jak uważacie? Dla mnie oczywiście wersja Crozina jest bardziej przejżysta
!*!
Nie pamiętam czy to w PSR czy w jakimś FW, ale ilość znaków w jednej linii nie powinna przekraczać 80.
hind
Co do tych 80 znaków, to może dziwnie wyglądać przy edytorze na full hd (i ledwo 1/3 jest zajęta przez kod)
viking
80 linii dotyczyło czasów terminalowych jeszcze. Przy technologiach obecnych (1080, dwa lub więcej monitorów) trochę to jest bez sensu. A jeśli już to raczej 120 znaków.
!*!
Te standardy nie powstają po to, aby dostosować się do Waszych monitorów. Link.
Michael2318
Cytat(mimol @ 21.02.2013, 11:43:43 ) *
Hmm, dla mnie też to wygląda poprawnie, jednak (używając PHPStorm, i formatowania wg PSR)
  1. $sth->callSth(
  2. '...',
  3. 123,
  4. 'jeszcze' => 'jest ok'
  5. )
  6. );

Formatuje na takie coś, jak uważacie? Dla mnie oczywiście wersja Crozina jest bardziej przejżysta


Osobiście, korzystam z zapisu drugiego, kwestia przyzwyczajenia.
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-2025 Invision Power Services, Inc.