Должен быть пункт «В зависимости от проекта».
В пхп очень часто приходиться иметь дело с проектами которые скажем так легаси. В итоге в разных проектах разные нотации и разные степени отсутствия оной.
Т.к. я пишу в основном на symfony, то и использую их стандарты. Хотя часто возникают проблемы, когда, например, использую библиотеки из Zend или другого проекта в котором стиль кодирования отличается и нужно расширить функционал (например унаследоваться от класса), то встает вопрос в каком стиле этот новый класс писать :)
Когда занимаюсь реализацией обособленных проектов, то использую свой стиль (помесь PEAR+Zend, почти как в Kohana).
Но когда нужно сделать модуль — стараюсь максимально соответствовать стандартам кодирования проекта.
Думаю это лучший подход, т.к сложно использовать модули/хаки/подсистемы написанные без понимания стандарта кодирования конкретного проекта.
Zend. Но использую табы вместо пробелов. Пробовал кодить пробелами, но это слишком сложно. Кстати, даже в ZF кривые отступы из-за того что используются пробелы.
Вот интересно, сколько % кодеров используют пробелы и сколько табы?
Думал, что использую свой стиль, но пройдясь по ссылкам, понял что это не так.
Оказывается этот стиль называется Horde, он легко читается и понимается, стараюсь делать, чтобы разработчикам после меня было нетрудно разобраться.
Я использую отступ из трёх пробелов (не четырёх) и нередко воздерживаюсь от фигурных скобок вокруг однострочных if, а также воздерживаюсь от круглых скобок вокруг простых аргументов логических операторов, но в остальном мой код зендоподобен.
Стандарт PEAR вызывает у меня ужас требованием переносить длинные строки, начиная с оператора, а не оставлять оператор в конце предыдущей строки. Я же пишу иногда и на джаваскрипте, а там этакий код имеет все шансы нарваться на автоподстановку «;» интерпретатором. Также мне кажется неприемлемою (неэкономною) манера PEAR и Horde переносить «{» на следующую строку в нескольких случаях. Также не очень понятно, зачем перевод строки после последнего «?>».
Докблоки сочинять ещё не выучился — может быть, вон то простое пособие станет простой отправной точкою.
Я следую рекомендуемой Horde оптимизации, используя «.» для стыковки строк и переменных вместо того, чтобы записывать имена переменных внутри строки, обрамлённой «"». (За исключением периодов клавиатурной лени.)
// Докблоки сочинять ещё не выучился
Очень здорово в этом помогает нормальная IDE.
В php storm например написали метод, над методом /** далее enter и он уже сгенерировал список членов, возвращаемое значение. Остается маленький description и, возможно, описание что этот метод делает.
Если Вы программируете на PHP, в основе Вашего стиля кодирования лежит