php

Code Style

Привет, поговорим немного о 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

Category: php
Post Created 8

Related Posts

Begin typing your search above and press enter to search. Press ESC to cancel.

Back To Top