PHP Manual

Відступ коду з використанням пробілів і табуляції

22. 08. 2019

Obsah článku

Для того, щоб код був легко читабельним для інших програмістів і зберігав елегантність, потрібно навчитися форматувати його уніфіковано. У цій статті розглядається використання пробілів і табуляції.

Пробіли чи табуляція краще для відступу коду? Це часто нескінченна тема для дискусій, якщо ви шукаєте швидку і однозначну відповідь, більшість хороших програмістів вважають за краще використовувати табуляцію, але давайте розберемося з цим по-хорошому.

Простори

Кожен програміст і редактор використовує різну кількість пробілів для відступів (але найчастіше 4), що призводить до неузгодженого коду, який може бути важче читати при читанні чужого коду. Крім того, більше символів потрібно для відступу (що збільшує розмір даних).

Однак пробіли мають перевагу при відображенні коду у веб-браузері (де для відступів використовується HTML-сутність  ), тому це відносно легкий для перенесення формат, який тільки набуває перевагу як стабільний і надійний метод відображення (4 пробіли завжди будуть виглядати як 4 пробіли).

Табулятори

Вони мають ту ширину, яку задає програміст у редакторі (якщо редактор це вміє), тому якщо вам подобається певний відступ, не проблема - ми можемо дивитися на один і той самий код з різною шириною табуляції. Водночас, це дуже економний символ, який не потрібно повторювати так часто, як просто пробіли.

При рендерингу коду з табуляцією в HTML-сторінку прийнято замінювати табуляцію фіксованими пробілами для забезпечення коректного відображення у всіх браузерах:

$code = '<?php
$a = 5+3;
$b = 4;
if ($a > $b) {
echo $a. " > " . $b;
} else {
echo $b . " <= " . $a;
}
?>';
echo str_replace("\t", '..;', $code);

Jan Barášek   Více o autorovi

Autor článku pracuje jako seniorní vývojář a software architekt v Praze. Navrhuje a spravuje velké webové aplikace, které znáte a používáte. Od roku 2009 nabral bohaté zkušenosti, které tímto webem předává dál.

Rád vám pomůžu:

Související články

1.
3.
Status:
All systems normal.
2024