Красивый код на PHP
Я приведу основные правила, которые нужно соблюдать при разработке кода, что бы через неделю можно было взглянуть код и определить, какая функция что делать. Еще одним преимущством написания читабельного кода, это простота поиска и устранения ошибок.
Сразу скажу, что примеры которые я помечаю как "некорректный", означают не то, что они не работают, а то, что они неккоректны с точки зрения разработке читабельного кода.
1. Выносите переменные за скобки
Всегда при выводе на экран текста, переменные в строке необходимо выносить за скобки. Это не только удобно для просмотра, но и эффективно, так как при этим вывод на экран осуществляется быстрей.
Пример некорректный:
echo "Value is $val"
Пример корректный:
echo "Value is ".$val
2. Обязательно используйте комментарии
Каждая функция по возможности должна быть описана небольшим комментарием. Каждый фрагмент, если вы считаете что он достаточно сложный для понимания, должен быть описан небольшим комментарием. И вообще, комментарием должно быть описано все, что вы считаете необходимым. Выбор вида комментария вы должны определить для себя сами. Это может быть одна текстовая строка, или блок строк, в котором описано назначение функции, информация об ее авторе и т.п.
3. Используйте сокращенный вид функции echo. Например, запись вида
<?php
echo $val
?>
можно спокойно заменить на
<?=$val?>
4. По возможности выносите большие блоки HTML за пределы конструкций php. Не злоупотребляйте функцией php.
Пример некорректный:
<?php
for ( $i = 1; $i < 10; $i++ ) {
echo "Number is ".$i;
echo "<br>";
echo "Number before is ".($i - 1);
echo "<br>";
}
?>
Пример корректный:
<?php
for ( $i = 1; $i < 10; $i++ ) {
?>
Number is <?=$i?>
<br>
Number before is <?=($i-1)?>
<br>
<?php
}
?>
Обратите внимание, что тут открывается две конструкции php, а между ними вставляется HTML текст. Возможно, по данному примеру и не видно явного преимущества выноса текста за пределы php конструкции, но на самом деле, когда вам придется иметь дело с таблицами, подобное правило может очень пригодиться.
5. Код должен быть выровненный относительно блоков.
Пример некорректный:
<?php
for ($i = 1; $i < 10; $i++)
{
echo $i;
$j++;
}
?>
Запомните, php это вам не паскаль с его блоками begin...end. Здесь блок должен открываться в той же строке, где он начался, а закрывается выровненным, относительно начала блока:
<?php
for ($i = 1; $i < 10; $i++) {
echo $i;
$j++;
}
?>
6. Упрощайте сложные конструкции. Разбивайте их на простые.
Пример некорректный:
$res = mysql_result(mysql_query("SELECT Num FROM db"), 0, 0)
Пример корректный:
$query = mysql_query("SELECT Num FROM db");
$res = mysql_result($query, 0, 0);
7. Используйте больше пробелов и пустые строки.
На самом деле это достаточно важный элемент написание читабельного кода. Я видел, как некоторые не оставляют пустые строки и используют как можно меньше пробелов, считая что они занимают лишнее место. Это в корне не верно, так как лишние байты позволят другому человеку сэкономить время на разбор чужого кода.
Пример некорректный:
<?php
for ($i=1; $j<10; $i++) {
$sum=$sum+$i;
$j++;
}
?>
Пример корректный:
<?php
for ( $i = 1; $j < 10; $i++ ) {
$sum = $sum + $i;
$j++;
}
?>
8. Используйте сокращенные виды математических и строковых операций.
Помните, что +1 всегда можно заменить на ++, а +n на +=n.
Примеры замен:
$i = $i + 1 эквивалентно $i++
$i = $i - 1 эквивалентно $i--
$i = $i + $n эквивалентно $i+=$n
$i = $i."hello" эквивалентно $i.="hello"