К счастью или нет, но дни кода-спагетти (сленговое обозначение плохо спроектир-
ванного или структурированного кода, сложного для чтения и понимания, словно клубок
спагетти) канули в лету, так что то, КАК вы пишите практически так же важно, как то,
ЧТО вы пишите.
Я не хочу разводить флейм по поводу того, чьи "стандарты" кодинга лучше, а чьи
хуже, например, использование пробелов или табуляции. Неважно, какой именно стиль
кодирования вы используете, до тех пор, пока вы продолжаете следовать ему на протяже-
нии создания всего вашего скрипта. Примером этого может быть стандарт кодирования
PEAR.
Отступы
Один из моментов, которые я бы хотела обязательно упомянуть это отсупы. Отсту-
пы используются для визуальной группировки логических блоков, для облегчения чтения
и понимания, а так же помогает созранять соответствие скобок. (Речь идет о скобках "{"
и "}" функций и операторов if,while... - прим. перев.) Используйте, двух, трех, четырех-
пробельные отступы, табы, или что еще вы предпочитаете, главное придерживайтесь это-
го постоянно.
<?php
if (isset($_SERVER["REMOTE_ADDR"])) {
$octet = substr($_SERVER["REMOTE_ADDR"], 0, strpos($_SERVER["REMOTE_ADDR"],
"."));
switch ($octet) {
case 127:
$network_class = "Зарезервированное значение 'петли'";
break;
case ($octet <= 126):
$network_class = "Класс A";
break;
case ($octet <= 191):
$network_class = "Класс B";
break;
case ($octet <= 223):
$network_class = "Класс C";
break;
case ($octet <= 239):
$network_class = "Класс D";
break;
case ($octet <= 255):
$network_class = "Класс E";
break;
default:
$network_class = "Неизвестный класс";
break;
}
} else {
$network_class = "Неизвестный класс";
}
echo "Ваш IP адрес принадлежит: $network_class";
?>
Именование переменных
В PHP переменные должны начинаться с буквы или подчеркивания, сопровождаю-
щихся любым количеством букв, цифр или подчеркиваний.
<?php
$x // Совершенно не понятно, что это такое
28
PHP Inside #17 Идеи
Лучшая практика
$num // Уже лучше, понятно, что это номер,
// но номер чего?
$cc_num // Еще лучше, понятно, что эта переменная хранит номер
// кредитной карты. (А может товарный номер сыра чеддар (cheddar cheese)?)
$cred_card_num // Оптимальное имя переменной
$chedChezStockNum // Оптимальное имя переменной
?>
Следует, так же, отметить, что имена переменных PHP чувствительны к регистру,
так что $Var и $var - это две различные переменные. Будьте, так же, уверены, что, задавая
имя переменной, вы обеспечиваете им достаточное количество информации о том, для
чего преднащначена эта переменная, или откуда она образуется. Нет конкретных преде-
лов для длины переменной, единственный предел - ваша готовность их набирать.
ванного или структурированного кода, сложного для чтения и понимания, словно клубок
спагетти) канули в лету, так что то, КАК вы пишите практически так же важно, как то,
ЧТО вы пишите.
Я не хочу разводить флейм по поводу того, чьи "стандарты" кодинга лучше, а чьи
хуже, например, использование пробелов или табуляции. Неважно, какой именно стиль
кодирования вы используете, до тех пор, пока вы продолжаете следовать ему на протяже-
нии создания всего вашего скрипта. Примером этого может быть стандарт кодирования
PEAR.
Отступы
Один из моментов, которые я бы хотела обязательно упомянуть это отсупы. Отсту-
пы используются для визуальной группировки логических блоков, для облегчения чтения
и понимания, а так же помогает созранять соответствие скобок. (Речь идет о скобках "{"
и "}" функций и операторов if,while... - прим. перев.) Используйте, двух, трех, четырех-
пробельные отступы, табы, или что еще вы предпочитаете, главное придерживайтесь это-
го постоянно.
<?php
if (isset($_SERVER["REMOTE_ADDR"])) {
$octet = substr($_SERVER["REMOTE_ADDR"], 0, strpos($_SERVER["REMOTE_ADDR"],
"."));
switch ($octet) {
case 127:
$network_class = "Зарезервированное значение 'петли'";
break;
case ($octet <= 126):
$network_class = "Класс A";
break;
case ($octet <= 191):
$network_class = "Класс B";
break;
case ($octet <= 223):
$network_class = "Класс C";
break;
case ($octet <= 239):
$network_class = "Класс D";
break;
case ($octet <= 255):
$network_class = "Класс E";
break;
default:
$network_class = "Неизвестный класс";
break;
}
} else {
$network_class = "Неизвестный класс";
}
echo "Ваш IP адрес принадлежит: $network_class";
?>
Именование переменных
В PHP переменные должны начинаться с буквы или подчеркивания, сопровождаю-
щихся любым количеством букв, цифр или подчеркиваний.
<?php
$x // Совершенно не понятно, что это такое
28
PHP Inside #17 Идеи
Лучшая практика
$num // Уже лучше, понятно, что это номер,
// но номер чего?
$cc_num // Еще лучше, понятно, что эта переменная хранит номер
// кредитной карты. (А может товарный номер сыра чеддар (cheddar cheese)?)
$cred_card_num // Оптимальное имя переменной
$chedChezStockNum // Оптимальное имя переменной
?>
Следует, так же, отметить, что имена переменных PHP чувствительны к регистру,
так что $Var и $var - это две различные переменные. Будьте, так же, уверены, что, задавая
имя переменной, вы обеспечиваете им достаточное количество информации о том, для
чего преднащначена эта переменная, или откуда она образуется. Нет конкретных преде-
лов для длины переменной, единственный предел - ваша готовность их набирать.