Профессиональное программирование на PHP

Страница 37 из 591


Предотвращение запутанности кода 39

Одним из худших примеров таких имен переменных, когда-либо виденных автором, был фрагмент кода, осуществляющий поддержку подписки на продукт. Часть кода задействовала подмену значений двух столбцов. Вместо того чтобы придерживаться ясного подхода, например:

$first_query = "SELECT a,b

FROM subscriptions

WHERE subscription_id = $subscription_id"; $results = mysql_query($first_query); list($a, $b) = mysql_fetch_row($results); // необходимая логика $new_a = $b; $new_b = $a;

$second_query = "UPDATE subscriptions

SET a = 1$new_a1, В = 1$new_b1

WHERE subscription_id = $subscription_id"; mysql_query($second_query); /

разработчики решили задавать переменные $а и $b в обратном порядке, чтобы значения столбцов и имена переменных в UPDATE-запросе совпадали:

$first_query = "SELECT a,b

FROM subscriptions

WHERE subscription_id = $subscription_id"; $results = mysql_query($first_query); list($b, $a) = mysql_fetch_row($results); // необходимая логика

$second_query = "UPDATE subscriptions SET a = '$a1, В = '$b'

WHERE subscription_id = $subscription_id"; mysql_query($second_query);

Учитывая, что между исходным SELECT и окончательным UPDATE-запросом было около 100 строк логики, код, естественно, был крайне запутанным.

Предотвращение запутанности кода

В известной степени все сказанное выше попадает в категорию "предотвращения запутанности кода". Соблюдение определенного стиля кодирования — способ заставить весь код проекта выглядеть одинаково, чтобы новому разработчику при просмотре кода была ясна его логика и не приходилось преодолевать барьеры стиля. Кроме общих правил для организации кода и именования, существует несколько дополнительных мероприятий, которые Можно предпринять для того, чтобы избежать написания непонятного кода. Данные мероприятия описаны в последующих разделах.

Избегайте коротких открывающих тегов

РНР позволяет использовать так называемые короткие теги:

<?

print "Hello $username"; ?>



  • ключ стим

  Hostland.Ru

 «Бесплатный хостинг Hostland.Su» © 2006