Все ленты — последние статьи

Красивый код на 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"