Стандарти за писане на код – 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]
Има още доста примери как може да си подобрите четимостта на кода. Но за съжаление до като не се въведат строго определени стандарти – хаосът ще управлява.
Съветът който мога да дам на всички е да се придържат към някакъв тип стандарти. Без значение какъв точно – стига да не е собственоръчно измъдрен, без допирни точки до никой от вече съществуващите. Така определено ще олесните животът на другите, така и вашия. А и все пак сме програмисти, а не каруцари нали? Не трябва да правим нещата джаста праста, пък утре… ще му мислим!






Марио Пешев 17 август 2009
Сега се налага да поддържам един мой стар проект от миналата година и изпадам в културен шок от plain php-то. Надявам се да не ми се налага да пиша не-фреймуъркнат PHP код вече…
Веселин 17 август 2009
Аз с това се занимавам днес и съм изключително разочарован от начина ми на писане преди
Радослав Станков 17 август 2009
Както се казва кода не остарява, хората го правят
Незнайно защо това с долната черта при private нещата така и неможах да му свикна. Това което използвам като стандарт в последните години е смеска между Zend, CodeIgniter и естествено Strict PHP 5.
От Zend особенно ми харесва именуването на класовете и разделянето на папки примерно клас ActiveRecord_Plugin_FileColumns се намира в ActiveRecord/Plugin/FileColumns.php и това много помага за организацията на кода и за autoload-а а също така и прави преминаването към PHP5.3 доста лесно.
Щях да опиша и още няколко неща, но май ще напиша един цяло post, за това, че много неща има да се кажат
admin 17 август 2009
Аз и аз се въздаржах да давам примери, защото темата е бая дългичка. Но пък много ще се радвам да прочета един блогпост на тая тема!
)
Радослав Станков 17 август 2009
То внимавай какво си пожелаваш, ащото май станаха 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/
Калоян К. Цветков 15 май 2010
Всеки май има такива проекти, примерно сравнете ми тази боза от 2003 (качена на phpClasses забележете… сигурно много съм бил горд с тази глупост):
http://ranchoweb.mirrors.phpclasses.org/browse/file/5419.html
с това:
http://code.google.com/p/schtrack2/source/browse/trunk/schtrack/schtrack.php
Публикувай коментар (dofollow)
ТИ :)