Стандарти за писане на код – PHP
Това е може би една от причините, поради която повечето хора не обичат PHP. Няма строго определени стандарти за писане на код, което създава сериозни проблеми и доста често един програмист не може да познае дори собствения си код след известен период от време. Това е лошо. Езици като Java са на съвсем другата страна на барикадата – там всичко е строго определено и трябва да се прави по начина, по който трябва да се прави. Аз лично съм абсолютно за създаването на някакви общоприети стандарти.
Всъщност стандарти има, например Zend, WordPress, Drupal, PEAR, CodeIgniter си имат свои собствени такива. Това е супер! Въпросът е дали някой ги спазва? В 90% от случаите отговорът ще бъде – не. Но например ако искате да публикувате модул, библиотека, хелпър или дори ако щете сниппет в CodeIgniter Wiki ще ви се наложи да спазвате наложените стандарти. Именно CI ме накара да започна да пиша и да спазвам по-стриктно изискванията им за подредба, имена на променливи, класове и така нататък. След което евулюирах към Kohana, която е Strict PHP 5 и пък съвсем си осъвършенствах писането на код.
Например всички private променливи се именуват, като преди реалното име се сложи долна черта
[codesyntax]
/**
* @var bool tested
*/
private $_tested;
[/codesyntax]
За по-добра четимост не се допуска използването на || т.е. правилното или по-скоро по-добрия вариант за една група от хора е:
[codesyntax]
if ($this->email == NULL OR $this->name != ‘My name’)
{
return FALSE;
}
[/codesyntax]
Има още доста примери как може да си подобрите четимостта на кода. Но за съжаление до като не се въведат строго определени стандарти – хаосът ще управлява.
Съветът който мога да дам на всички е да се придържат към някакъв тип стандарти. Без значение какъв точно – стига да не е собственоръчно измъдрен, без допирни точки до никой от вече съществуващите. Така определено ще олесните животът на другите, така и вашия. А и все пак сме програмисти, а не каруцари нали? Не трябва да правим нещата джаста праста, пък утре… ще му мислим!

Сега се налага да поддържам един мой стар проект от миналата година и изпадам в културен шок от plain php-то. Надявам се да не ми се налага да пиша не-фреймуъркнат PHP код вече…
Аз с това се занимавам днес и съм изключително разочарован от начина ми на писане преди
Както се казва кода не остарява, хората го правят
Незнайно защо това с долната черта при private нещата така и неможах да му свикна. Това което използвам като стандарт в последните години е смеска между Zend, CodeIgniter и естествено Strict PHP 5.
От Zend особенно ми харесва именуването на класовете и разделянето на папки примерно клас ActiveRecord_Plugin_FileColumns се намира в ActiveRecord/Plugin/FileColumns.php и това много помага за организацията на кода и за autoload-а а също така и прави преминаването към PHP5.3 доста лесно.
Щях да опиша и още няколко неща, но май ще напиша един цяло post, за това, че много неща има да се кажат
Аз и аз се въздаржах да давам примери, защото темата е бая дългичка. Но пък много ще се радвам да прочета един блогпост на тая тема!
)
То внимавай какво си пожелаваш, ащото май станаха 2 поста.
http://next.pixeldepo.com/2009/08/17/%D1%81%D1%82%D0%B0%D0%BD%D0%B4%D0%B0%D1%80%D1%82%D0%B8-%D0%B7%D0%B0-%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B5-%D0%BD%D0%B0-php-%D0%BA%D0%BE%D0%B4-%D1%87%D0%B0%D1%81%D1%82-%D0%BF%D1%8A%D1%80%D0%B2%D0%B0/
Всеки май има такива проекти, примерно сравнете ми тази боза от 2003 (качена на phpClasses забележете… сигурно много съм бил горд с тази глупост):
http://ranchoweb.mirrors.phpclasses.org/browse/file/5419.html
с това:
http://code.google.com/p/schtrack2/source/browse/trunk/schtrack/schtrack.php
То.. първо според мен трябва да се сложи в ред UTF-8 подръжката на php, после да се мисли за стандарти
Имаш мнение? Сподели го: