Tuesday 6 November 2007

Читабельность кода

Обсуждаемая на днях тема "Less code vs good code" меня заинтересовала, так как со временем манера писания кода меняется у каждого программиста, и я не исключение.
Англоязычные мнения коллег:
http://www.phpguru.org/#154
http://www.phpcult.com/blog/02/less-code-vs-good-code/
http://www.phpguru.org/#154

Довольно оригинальным мне кажется использование вместо временных именованных переменных их безымянные значения типа ${0}, так как сразу видно что эта переменная больше нигде кроме данного конкретного куска не будет использоваться и на нее другой программист не будет ссылаться.

Вообще по правде говоря для реального проекта количество кода несоизмеримо с его качеством. То есть если на поддержку экзотического супер мини кода потребуется на порядок больше времени, тогда грош цена таким уловкам в сокращении написания. Код должен быть прозрачным и читабельным, плюс логически понятным другому человеку, который будет его менять со временем.

Так что я голосую за "good code", а не "Less code".

PS По поводу оптимизации скл: вместо того, чтобы делать проверки есть ли уже что-то в $where просто в конец пишем where 1=1 и все остальные ограничения можно безболезненно добавлить через and a=3 ... and b=3. Аналогично для or условий в конец добавляем where 1!=1

No comments: