Стандарт за писане на код в PHP
Имена
Имената са сърцето на програмирането. В миналото хората са
вярвали , че знаейки истинското име на някой ще им даде магична власт над този
човек. Ако вие можете да измислите истинско име за нещо, вие, както и хората
идващи след вас придобивате сила над кодът. Не се смейте!
Само програмист, който разбира системата изцяло може да
създаде име, което си "пасва" със системата. Ако името е подходящо,
всичко ще е в хармония, връзките и значението им са ни ясни, ще е разбираемо за
обикновения човек и всичко ще работи според очакванията ни.
Имена на класове
- Избирайте
име на клас в зависимост от това, което е.
- Съединяването
на над три думи в име са признак, че вашият дизайн може да е грешна
смесица от разнообразни обекти. Погледнете отново вашият дизайн.
- Избягвайте
изкушението да вземате имена на класове, произлизащи от уроците тук или
някъде другаде. Класа трябва да е създаден без чужда помощ. Няма значение
от къде произлиза идеята за него.
- Наставките
понякога са полезни. Например, ако вашата система използва агенти за
сваляне, тогава назовавайки го DownloadAgent ще представлява достоверна информация.
Имена за функции и методи
Обикновено всеки метод и функция извършва действие, значи
името трябваше да ни покаже какво действие ще се извършва: CheckForErrors()
вместо ErrorCheck(), DumpDataToFile() вместо DataFile(). Това ще направи обектите
и функциите по- разпознаваеми.
- Наставките
понякога са полезни :
- Max
- ще се има на предвид максималната стойност от нещо.
- Cnt
- текущия брой на нещо.
- Key
- ключова стойност.
Пример:
RetryMax ще има предвид максималният брой опити, RetryCnt ще
изброи опитите.
- Представките
понякога са полезни :
o <!--[endif]-->Is – Така питаме за нещо. Винаги когато
някой вижда Is ще знае, че това е
въпрос.
o <!--[endif]-->Get - Получаваме стойност
o <!--[endif]-->Set – Задаваме стойност
Пример : IsHitRetryLimit
Коментари (1)
Ето го официалния, а те много се различават.
http://framework.zend.com/wiki/display/ZFDEV/PHP+Coding+Standard+(draft)#PHPCodingStandard%28draft%29-Scope