Думаю, тема будет полезна тем кто еще не определился со стилем своего кода и тем кто хочет довести его до хорошего уровня.
Материал взят из документации к ZendFramework.
Для просмотра на оф сайте: http://framework.zend.com/manual/ru/coding-standard.overview.html
ФОРМАТИРОВАНИЕ PHP ФАЙЛОВ
Общее
Для файлов, содержащих только PHP-код, закрывающийся тег ("?>") не разрешен. Он не требуется синтаксисом PHP. Это предотвращает от случайного включения в вывод конечных пробелов.
ВАЖНО: Включение бинарных файлов как разрешает __HALT_COMPILER() запрещено из любого PHP-файла Zend framework'а или файлов производных от него. Эта возможность разрешена для использования только в специальных инсталляционных скриптах.
Отступы
Для отступа используйте 4 пробела. Не используйте символ табуляции.
Максимальная длина строки
Рекомендуемая длина строки составляет 80 символов, т.е. разработчики должны стремиться держать код как можно ближе к 80-символьной границе, когда это возможно. Однако более длинные строки также допустимы. Максимальная длина любой строки PHP-кода не должна превышать 120 символов.
Переводы строк
Переводы строк должны быть как принято для текстовых файлов в Unix-системах. Строки должны заканчиваться только символом перевода на новую строку (LF). Символ перевода на новую строку в десятичном виде представляется как число 10, или как 0x0A в шестнадцатеричном.
Не используйте комбинацию символов возврата каретки/перевода строки (CRLF) как на Windows-компьютерах (0x0D, 0x0A).
СОГЛАШЕНИЯ ПО ИМЕНОВАНИЮ
Классы
Zend Framework использует схему именования классов, в соответсвтвии с которой имена классов напрямую указывают на директории, где они находятся. Корневой директорией Zend Framework'а является директория "Zend/", в которой иерархически расположены все классы.
Имена классов могут содержать только буквенно-числовые символы. Числа допустимы в именах классов, но не приветствуются. Символы нижнего подчеркивания допустимы в местах разделителей пути - имя файла "Zend/Db/Table.php" должно указывать на класс с именем "Zend_Db_Table".
Если имя класса состоит из более чем одного слова, то первая буква каждого слова должна быть заглавной. Последующие заглавные буквы недопустимы, например, имя класса "Zend_PDF" - недопустимо, в то время как имя "Zend_Pdf" допустимо.
Классы Zend Framework'а написанных Zend'ом или одной из участвующих компаний-партнеров и распространяемых с фреймворком должны всегда начинаться с префикса "Zend_" и должны располагаться в директории "Zend/" в соответствии с иерархией.
Ниже примеры допустимых имен классов:
Zend_Db
Zend_View
Zend_View_Helper
ВАЖНО: Код, который оперирует с фреймворком, но не является его частью, например, код написанный пользователем фреймворка и это не компания Zend или один из партнеров по фреймворку, не должен начинаться с префикса "Zend_".
Интерфейсы
Интерфейсы должны следовать той же схеме именования, как и классы (смотрите выше), однако должны заканчиваться словом "Interface", как в следующих примерах:
Zend_Log_Adapter_Interface
Zend_Controller_Dispatcher_Interface
Имена файлов
Для файлов допустимы буквенно-числовые символы, символы нижнего подчеркивания и тире ("-"). Пробелы запрещены.
Любой файл содержащий PHP-код должен иметь расширение ".php". Это примеры показывают допустимые имена файлов для классов из примеров в секции выше:
Zend/Db.php
Zend/Controller/Front.php
Zend/View/Helper/FormRadio.php
Имена файлов отражаются на имена классов, как описано выше.
Функции и методы
Имена функций могут содержать буквенно-числовые символы. Символы нижнего подчеркивания не разрешены. Числа разрешены в именах функций, но не приветствуются.
Имена функций должны всегда начинатся с буквы в нижнем регистре. Когда имя функции состоит из более чем одного слова, первая буква каждого нового слова должна быть заглавной. Это обычно называется "верблюжьей" нотацией.
Многословность приветствуется. Имена функций должны быть настолько говорящими, насколько это практично для повышения понимаемости кода.
Это примеры допустимых имен функций:
filterInput()
getElementById()
widgetFactory()
Для объектно-ориентированного программирования принято, чтобы методы доступа имели префикс "get" или "set". Когда используются шаблоны проектирования, такие, как "синглтон" или "фабрика", имена методов должны содержать имя шаблона, чтобы можно было быстро узнать шаблон.
Функции в глобальной области видимости ("плавающие функции") допустимы, но не приветствуются. Рекомендуется обрамлять такие функции в статические классы.
Переменные
Имена переменных могут содержать буквенно-числовые символы. Символы нижнего подчеркивания не разрешены. Числа разрешены в именах переменных, но не приветствуются.
Для переменных - членов классов, определенных с помощью префиксов области видимости "private" или "protected", первый символ имени должен быть один символ нижнего подчеркивания. Это единственное допустимое использование символа нижнего подчеркивания в имени. Переменные - члены классов определенные с помощью префикса области видимости "public" никогда не должны начинаться с символа нижнего подчеркивания.
Как и имена функций (смотрите секцию 3.3 выше) имена переменных должны начинаться с буквы в нижнем регистре и следовать "верблюжьей" нотации.
Многословность приветствуется. Имена переменных должны быть настолько говорящими, насколько это практично. Краткие имена переменных, такие как "$i" и "$n" не приветствуются нигде, кроме как в контексте маленьких циклов. Если цикл содержит более 20 строк кода, то переменные для индексов должны иметь более говорящие имена.
Константы
Константы могут содержать буквенно-числовые символы и символы нижнего подчеркивания. Числа разрешены в именах констант.
Имена констант должны быть в верхнем регистре.
Константы должны быть определены как члены классов с использованием ключевого слова "const". Определение констант в глобальной области видимости с помощью "define" допустимо, но не рекомендуется.
СТИЛЬ КОДИРОВАНИЯ
Так как эта часть достаточно большая для одного сообщения, для её прочтения идем по ссылке:
http://framework.zend.com/manual/ru/coding-standard.coding-style.html
ивини,что прерываю, но прочитав несколько строк, понимаю, что данная информация похожа на бред
15 Фев 2011, 19:00Ну, это может быть твое мнение, по моему можно много чего полезного извлечь.
15 Фев 2011, 19:06Достаточно было просто ссылку скинуть на страницу из мана, там это хоть как то украшенно.
А самое смешное то, что даже сами разработчики ZF не полностью придерживаются этих правил)
Да, так наглядней просто) по поводу нарушений, да. 80 символами в строке даже и не пахнет)
15 Фев 2011, 19:30Да и есть некоторые моменты которые противоречат советам разработчиков языка. Вернее, то что советуют разработчики, запрещают авторы зф
15 Фев 2011, 19:521. elseif хуже else if? чем?
2. 4 пробела якобы для одинаковой читаемости кода везде? а я ложил на это "правило" и использую табуляцию, мне удобнее. автозамена тоже не прет.
3. 80 символов максимум? 99% не кодят в стандартном фреймбуфере люникс-терминала, сразунахуй (надеюсь антимат сработает).