Вернуться на страницу трюков

Синтаксис кода

Существует несколько видов синтаксиса. Данный материал расскажет только об одном, наиболее удачном по мнению автора синтаксисе.
Но прежде давайте ответим себе, зачем нужен синтаксис кода? Для начала код, где используется грамотный синтаксис очень просто и удобно читать, представьте себе, что если бы в книге не выделялись заголовки жирным и по центру, абзацы не использовались и весь текст писался бы в одну длинную строку. Каша, правда? Так вот, вместо этого придумали синтаксис оформления кода, который позволяет не только тебе воспринимать твой код проще, но и другим людям, которые будут с тобой работать. Вторая причина - правильно оформленный код позволит сразу выделить для себя разделы и логику приложения, а это очень как необходимо, если к данному коду ты вернёшься спустя пол года или год. Твой код станет для тебя чужим и тебе придется заново его понимать и тут уже не память поможет, а оформление кода. И самое важное, рано или поздно любой программист придет к пониманию необходимости красиво и грамотно оформлять свой код, так зачем откладывать на потом такую простую вещь, которую можно запомнить сразу и приучить себя к горшку, а не ждать, пока кто-то начнёт за тобой гоняться с тапком :) . Итак, правила:

Правило №1: отступы.


Любой код начинаем с левого края, при этом каждый вложенный блок необходимо отделять от базовой линии на +4 пробела или +1 табуляция. Линия кода смещается, и если у нас идёт вложенность внутри вложенности - мы получаем для самой глубокой вложенности отступ уже в +8 пробелов (4 + 4, 2 вложенности). 4 пробела относятся к синтаксису PHP, MYSQL, CSS в свою очередь в HTML используется не +4 пробела или табуляция, а лишь +2 пробела. Вызвано это тем, чтобы не создавать слишком уехавший код вправо, так как в отличии от ПХП, где вложенностей в стандарте бывает 2-4, а более 10. Давайте рассмотрим на примере:
HTML (4 пробела):
<div>
    Текст, текст
    текст, текст
</div>

<div>
    <div>
        <span>Text </span>
        <span>Text-text</span>
    </div>
    <div>border</div>
    <div>
        <div>
            <img alt="" src="">
            text
        </div>
    </div>
</div>

PHP (4 пробела или табуляция):
<?php 
session_start();
$var = 10;
$x = array();
if($var == 5) {
    echo '$var == 5';
} else {
    if($var > 20) {
        echo 'слишком большое значение';
    } elseif($var == 10) {
        $_SESSION['key'] = 'a1x5z';
        header("Location: /");
        exit();
    }

    if(is_array($x) && count($x)) {
        echo '$x - массив';
    } 
}

Хочу так же отметить, что в нормальных IDE 4 пробела по отступам равноценно 1 табуляции, именно поэтому использовать можно как табуляцию, так и 4 пробела по желанию.

Правило №2: комментарии кода


Данный пункт является достаточно спорным. Рекомендуется для понимания кода в некоторых местах оставлять комментарии, что делает конкретный код. При этом частое построчное комментирование превратит в ужасную кашу скрипт, а отсутствие комментариев - непонятный код. В итоге необходимо достичь своего рода баланса, комментировать либо какой-то блок, который выполняет определённое действие, или комментарий давать в виде документации в начале скрипта, или, как заключительная стадия, создать документацию кода отдельно, куда записывать достаточно сложные участки код. Ну а теперь взглянем на комментарии:
// Мы снимаем деньги с пользователя
if($money > 0) {
    ...
    ...
} else {
    ++$_SESSION['err_money'];
    echo 'Недостаточно денег';
}
// Штраф за неправильное поведение:
if(isset($_SESSION['err_money']) && $_SESSION['err_money'] > 5) {
    exit('Превысили допустимый лимит ошибок');
}


Правило №3: имена


Переменные мы пишем в нижнем регистре:
$specialname = 10;

Константы в верхнем регистре:
echo SPECIALNAME;

Имена функций и классов пишем с маленькой буквы, но при этом имена, состоящие из двух или более слов пишем в верблюжьем стиле, то есть каждое новое слово начинается с большой буквы:
function myJob(){}
function specialAction(){}
function myBossVeryStupid(){}


Правило №4: массивы


Достаточно простой синтаксис, если мы имеем сложные массивы и много данных в массиве, то каждый элемент массива с новой строчки и отступом в +4 пробела от общей линии. При этом простые можно писать в одну строчку:
$array = array(10,5,2,'Стас');
$array = array(
    'key1' => 'value1',
    'key2' => 'value2',
    'key3' => 'value3',
);
$array = array(
    'key1' => array(
        'key1' => 'value1',
        'key2' => 'value2',
    ),
    'key2' => 'value',
);


Правило №5: что не надо делать


Никогда ни при каких обстоятельствах не пользуйтесь сокращенной записью открытия блока PHP:
<? или <?=$var;?>
, всегда пишите полностью:
<?php echo $var; ?>
.
В именах файлов и директорий никогда не используйте русский текст, пробел, точку, запятую и другие символы, можно использовать ТОЛЬКО латинские символы (английские символы) и нижнее подчёркивание.



Правило №6: красивые sql-запросы


В соседней теме о них уже велась беседа. Давайте просто взглянем на пример красивого запроса:
mysqli_query("
    SELECT *
    FROM `table`
    WHERE `id` = 17
      AND `age` BETWEEN 7 AND 17
      AND `login` = '".mysqli_real_escape_string($link,$login)."'
    ORDER BY `age` DESC
    LIMIT 10
");

Главная БАЗОВЫЙ КУРС ПЕРВЫЙ УРОВЕНЬ программирования ВТОРОЙ УРОВЕНЬ верстки ВТОРОЙ УРОВЕНЬ программирования Начать обучение Запуск проекта Мелкие трюки Делимся практикой трудоустройства Проверь свои знания Задачи по PHP MySQL Блог Отзывы