Привет, поговорим немного о code style, в википедии про него пишут так. И правильно — это действительно стандарт оформления кода. Для чего он нужен? Тут все просто, когда с кодом работает большое количество человек, нужно придерживаться каких-то определенных стандартов. Что б каждый разработчик мог быстро разобрать код. Code style может отличатся в каждой команде по специфике проекта. Но стоит выделить основные правила, которые помогут вам в разработке.
Стиль написания
Для начало надо определить стиль написания. Если вы пишете в ООП подходе то следует использовать CamelCase. В случае функционального программирования следует использовать Snake case. Главной целью code style является читабельность кода. Не надо думать, что если вы напишете меньше символов в переменной или методе то код будет работать быстрее — это просто смешно. Код должен быть красиво отформатирован и понятен. По своей сути если писать грамотные названия методов, то можно не вести документацию. Все суть будет понятна из названия методов и переменных. В примерах ниже я буду использовать CamelCase.
Именование переменных
Все переменные пишем в верблюжьем стили. Не используем в названиях переменных цифры.
$idCity; $productCategory; $userToAccount;
Пробелы
Не нужно жалеть пробелы, пример плохо оформленного кода
$count=0;
if($count>5){
}
foreach($items as $key=>$value){
$count=(int)$value;
}
Нужно писать так
$count = 0;
if ($count > 5) {
}
foreach ($items as $key => $value) {
$count = (int) $value;
}
Тела всех методов начинаются с новый строки, а всех операторов с новой строчки
private function _isUserExist()
{
/*...*/
}
public function onDisplayPage()
{
if (!$this->_isUserExist()) {
throw new Exception('User Not Found');
}
}
Оформление массивов
Не стоит писать массивы так:
$options = [
"path" => "/path/to/folder",
"keyInValue" => $keys['index']];
Следует его выровнять и сейчас массив будет выглядеть как надо
$options = [
"path" => "/path/to/folder",
"keyInValue" => $keys['index']
];
Имена методов
В ООП подходе всегда указываем уровень изоляции метода. Если метод приватный то его название начинается с нижнего подчеркивания.
public function getUsers()
{
/*...*/
}
private function _hasUser()
{
/*...*/
}
Все методы можно разделить на группы и использовать определенный префикс для каждой группы.
Геттеры и сеттеры
Такие методы начинаются с префиксов get или set. Например: getUsers, getProducts, setAction.
Отображение данных
Для отображение данных на странице следует использовать префиксы display или onDisplay. Например: displayForm, onDisplayMainPage, displayUserJson
Возражение контента
Методы которые возвращают контент (html) начинаются с fetch. fetchMenu
обработка событий и запросов
Обработка запросов ajax, будут начинаться с onAjax. Например: onAjaxUpdateForm. Если метод является обработчиком событий или колбеком то он будет начинаться с префикса on. onSubmit, onRegistration, onSignIn. Все методы отвечающие за бизнес логику будут начинаться с префикса do. Например: doChangeStatus, doUpdateUserData
логические проверки
Все методы которые отвечают за проверки будут начинаться с is, has. Длинны выражения в в условиях следует выносить в метод. Например вот так записывать плохо:
if ($a == 10 && $b == 5 || $a == 2 && $b == 6) {
}
Из этого условия не возможно понять что это за условие. Вот так будет лучше
if ($this->isAllowedFigure($a, $b)) {
}
Правило 80 символов
Очень хорошое правило говорит что длинна символов в IDE не должна превышать 80 символов. О настройке IDE я говорил в одной из своих прошлых статей
Тут описан не весь code style, которые я хотел показать, это лишь небольшая часть. В дальнейшем я буду дополнять эту статью новыми правилами. Хочу поделится ссылкой на стандарты php которых надо придерживайся и переодически подчитывать sonarsource.com
