Соглашения по именованию

Классы

Qb использует схему именования классов, в соответсвтвии с которой имена классов напрямую указывают на имена файлов, где они находятся.

Имена классов могут содержать только буквенно-числовые символы. Числа допустимы в именах классов, но не приветствуются. Символы нижнего подчеркивания не рекомендуются.

Если имя класса состоит из более чем одного слова, то первая буква каждого слова должна быть заглавной. Последующие заглавные буквы недопустимы, например, имя класса "QbPDF" - недопустимо, в то время как имя "QbPdf" допустимо.

Классы Qb написанные artoodetoo или кем-то из доверенных лиц и распространяемых с фреймворком должны всегда начинаться с префикса "Qb" и должны располагаться в директории "lib/".

ВАЖНО: Код, который оперирует с фреймворком, но не является его частью, не должен начинаться с префикса "Qb".

Примеры классов:

QbCustomController
MysqlDatabase

Интерфейсы

Интерфейсы должны следовать той же схеме именования, как и классы (смотрите выше), однако должны предваряться символом "I", как в следующих примерах:

IQbDatabase
IQbView

Имена файлов

Для файлов допустимы буквенно-числовые символы, символы нижнего подчеркивания и тире ("-"). Пробелы запрещены.

Любой файл содержащий PHP-код должен иметь расширение ".php". Это примеры показывают допустимые имена файлов для классов:

lib/qb.php

app/controller/front.php

app/view/helper/formradio.php
Имена файлов отражаются на имена классов, как описано выше.

Функции и методы

Имена функций могут содержать буквенно-числовые символы. Символы нижнего подчеркивания не разрешены. Числа разрешены в именах функций, но не приветствуются.

Имена функций должны всегда начинатся с буквы в нижнем регистре. Когда имя функции состоит из более чем одного слова, первая буква каждого нового слова должна быть заглавной. Это обычно называется "горбатой" нотацией.

Многословность приветствуется. Имена функций должны быть настолько говорящими, насколько это практично для повышения понимаемости кода.

Это примеры допустимых имен функций:

filterInput()

getElementById()

widgetFactory()

Для объектно-ориентированного программирования принято, чтобы методы доступа имели префикс "get" или "set". Когда используются шаблоны проектирования, такие, как "синглтон" или "фабрика", имена методов должны содержать имя шаблона, чтобы можно было быстро узнать шаблон.

Функции в глобальной области видимости ("плавающие функции") не приветствуются. Рекомендуется обрамлять такие функции в статические классы.

Переменные

Имена переменных могут содержать буквенно-числовые символы. Символы подчеркивания не разрешены. Числа разрешены в именах переменных, но не приветствуются.

Для переменных - членов классов, определенных с помощью префиксов области видимости "private" или "protected", первый символ имени должен быть один символ подчеркивания. Это единственное допустимое использование символа нижнего подчеркивания в имени. Переменные - члены классов определенные с помощью префикса области видимости "public" никогда не должны начинаться с символа подчеркивания.

Как и имена функций имена переменных должны начинаться с буквы в нижнем регистре и следовать "горбатой" нотации.

Многословность приветствуется. Имена переменных должны быть настолько говорящими, насколько это практично. Краткие имена переменных, такие как "$i" и "$n" не приветствуются нигде, кроме как в контексте маленьких циклов. Если цикл содержит более 20 строк кода, то переменные для индексов должны иметь более говорящие имена.

Константы

Константы могут содержать буквенно-числовые символы и символы подчеркивания. Числа разрешены в именах констант. Рекомендуется оформлять константы как члены классов.

Имена констант должны быть в верхнем регистре.