Na stronie Zend Framework macie podane konwencje/standardy dotyczące formatowania kodu, nazewnictwa i dokumentacji. Chciałbym pewne rzeczy rozszerzyć w oparciu o własne obserwacje kodu ZF i zalecenia twórców/ekspertów (głównie z ich blogów). Nie będę oczywiście bawił się w tłumacza. Mam nadzieję, że ten 3 częściowy wpis się komuś przyda. Dzielę go z braku czasu…
1. Formatowanie kodu
- każda klasa w osobnym pliku, bez znaku kończącego skrypt
?> - nie wolno używać skróconej formy
<? ?>lub<% %> - wcięcia mają liczyć 4 spacje, bez tabulatorów (mądrzejsze edytory same zamieniają taby na spacje)
- długość pojedynczej linii kodu powinna wynosić poniżej 80 znaków, w pewnych okolicznościach dopuszczalne jest więcej, do 120 znaków (absolutny limit)
- nazwa klasy zgodna ze strukturą katalogów poprzedzielanych podkreślnikiem, czyli np.
class Spiechu_Captcha, za to plik w tym przypadku będzie się nazywał Captcha.php (jeżeli nie programuję w ZF to tego nie używam, ponadto moje pliki kończą się na .class.php, np. captcha.class.php - bez spacji pomiędzy nazwą funkcji a parametrami, np.
function getStringFormatted($string), za to jeżeli jest kilka parametrów, to wtedy po przecinku jedna spacja - jedna spacja po strukturach kontrolnych typu
if else switchi pętlach typufor foreach - spacja przed i po znakach przypisujących/arytmetycznych/logicznych typu
= .= + - / % == && || - tzw. one true brace, czyli po deklaracji klasy i po parametrach metod nawias klamrowy powinien zostać przeniesiony do nowej linii, za to przy wszelkich ifach czy forach nie (przyznaję się bez bicia, nie stosuję OTB
) - jeżeli istnieje możliwość wymuszenia typu parametru, stosować to (przypominam, że PHP od wersji 5.3 umożliwia zapis
function metoda(array $tablica) {coś tam}) - używać „podwójnych pazurków” tylko wtedy kiedy to jest konieczne (czyli gdy wstawiamy coś ze zmiennej w locie), a jeżeli już to zawsze używać zapisu w nawiasach klamrowych, np.
$s = "mój kot nazywa się {$kot}"; - jeżeli jest to możliwe, tablica powinna zaczynać się od wartości 0
$tablica[0] - jeżeli nasz
switchprzewiduje wartośćdefault, musi być umieszczony jako ostatni (z breakiem!)
Tyle na dzisiaj. Jeżeli coś sobie przypomnę lub wyczytam mądrego, zaktualizuję wpis.
Podobne wpisy:
