каталог статей
Поиск:
пример: сотовые телефоны расширенный поиск
Начало » » » Каким должен быть код интернет-страниц? Читабельность v размер. Часть 2. PHP

Каким должен быть код интернет-страниц? Читабельность v размер. Часть 2. PHP

В первой части статьи мы говорили про цветочки, т.е. про html код. А теперь давайте про ягодки – php код!

Допустим, вы пишете скрипт на php… и пишете его, не особо заботясь о читабельности. Да, вы пишете его по нескольку часов изо дня в день, наизусть помните, что означает тот или иной фрагмент, что означает та или иная переменная.
Но вот вы написали скрипт. И всё! А потом захотели его отредактировать. Например, ошибка в коде, которую вы раньше не заметили.
Вы открываете его и видите, например, такое:
if ($a==$b && ($c>=$d || $q!=$p)) {$s=w($a); echo 'Результат: '.x($s);}

Вы что-нибудь понимаете? Можете сказать, что делает этот фрагмент кода? В чём смысл? Конечно, нет! Но это только одна строка кода… а скрипт может занимать и 10, и 20, и 50 строк… и что тогда? Сидеть полдня и вспоминать, что значат переменные $a и $b и искать, где вы описали функции w() и x()?
Хорошо, а теперь взгляните на такой вот кусок кода:
if ($result==$znachenie && ($max>=$min || $otvet!=$error))
{
$OKresult=obrabotka($result); //Обработка результата
echo 'Результат: '.Preobr($OKresult); //Преобразование данных в понятный формат.
}


Согласитесь, в последнем коде даже не разбирающийся в программировании человек уже что-то понимает!
Хотя оптимизаторы сайтов, наверное, на меня сейчас накинутся с гневными ругательствами: мол, не к тому приучаю! Этак и страница будет весить, как слон! В результате и загрузка дольше, и трафик больше будет, да и вообще! Чем меньше размер – тем лучше!
В принципе они правы, ведь первый кусок кода весит 71 байт, а второй 223 байта…

Да, к сожалению, при арифметическом росте читабельности геометрически растёт вес страниц, но что поделаешь. Я специально проверял. Я удалил все лишние пробелы, переходы на новую строку и т.д. на одной их своих страниц. И страница уменьшилась в размере в 6, 7 раз! Это при условии, что я переменным не менял имена на более короткие в один-два символа, а так можно было бы уменьшить размер в 10 или более раз!

Впечатляет? И зачем же такие жертвы, спросите вы? Если вы хоть раз писали длинный скрипт, то вы меня, наверное, поймете. Если же нет, то сейчас объясню.
Представьте, вы пишете скрипт. Пишете именно как в первом варианте – с непонятными именами переменных, максимально сокращая вес страниц, не делая ни одного лишнего пробела, и пишете всё чуть ли не в одну строчку. Да, во время написания вы помните, где и в каком месте у вас что записано, какая переменная что означает. И вот вы написали…

А через пару месяцев вы хотите исправить скрипт… и что вы видите?! Вы уже не вспомните, что означает та или иная переменная, что означает тот или иной кусок кода. Более того, не видно, где начинаются и где заканчиваются циклы, условия и т.д. И поверьте, вам придётся потратить минимум полчаса на то, чтобы разобраться в своём же скрипте! А если скрипт большой и сложный, а вы не профессионал – минимум часа полтора! А изменения вы, может, успеете и за 10 минут внести!

Вам хочется каждый раз тратить столько времени на «вспоминание» того, что, где и когда вы написали, как это всё работает, что это означает и что со всем этим делать? Если да – то пожалуйста, пишите всё, как хочется. А если нет, называйте переменные «по-человечьи»! И не стесняйтесь комментариев, они пока ещё не принесли никому такого катастрофического вреда, чтобы от них избавляться. Поверьте, когда где-то в шестиста строках нечитабельного php кода есть «не явная» ошибка (т.е. когда в целом всё работает, но не всегда так, как нужно), то поиск подобной ошибки превращается в многочасовой ад!
Помните поговорку: «скупой платит дважды»? Как ни удивительно, но для сайтостроения она тоже применима! Поленившись потратить 20-30 минут на то, чтобы сделать код читабельным, вы каждый раз при редактировании будете тратить эти же 20-30 (если не больше) минут только на то, чтобы разобраться в коде.

А сейчас хочу вас немного предостеречь. Я иногда вижу и варианты, подобные этим:
if ( $resultata_rabotu==$znachenie_iz_bufera_obmena && ( $maximal_chislo_polsovatela>=$minimum_chislo_reshenia || $otvet_vychislenia_vurashenia!=$error_vo_vrema_rassgeta ) ) //Проверка условия такого-то в зависимости от того-то и при тех-то обстоятельствах.
{
$good_resultat_rabory = obrabotka_resyltata_vyshiskenia($resultata_rabotu ); //Функция обработки результата, которая сначала делает то-то, а потом вот это и ещё это.
echo 'Результат: '.Preobrazovanie_resultata_v_drygoi_format( $good_resultat_rabory ); //Функция преобразования данных в понятный формат, которая преобразует данные из такого-то формата в такой-то для лучшего понимания результата человеком.
}


Ну всё хорошо, но в меру! Ведь комментарии – это не сочинения-рассуждения, а имена переменных – это имена, а не словосочетания. Не нужно излишеств, старайтесь писать понятно, но не нужно комментировать совершенно очевидные вещи и писать километровые имена переменных. Это слишком!

Итак, подведём итог. Ни в коем случае не нужно гнаться за минимальным весом страницы, борясь за каждый байт в ущерб читабельности кода. Внутренний код должен быть таким, чтобы в нём при желании можно было легко и быстро разобраться! Но и не стоит писать и расписывать каждую мелочь.

Конечно, все люди разные и кому-то, чтобы понять принцип работы того или иного скрипта, комментарии вообще не нужны – он и так всё понимает, а кому-то без них не обойтись! Всё относительно. Конечно, нет никаких особых критериев того, как писать код. Пишите код так, чтобы вы сами его поняли и разобрались в нём довольно быстро, а не так: «работает, и вес маленький, а то, что ничего не понятно и всё в одну строчку… ну так издержки производства!». Это заранее провальный подход, вы в результате проиграете больше, чем выиграли – ведь скупой платит дважды!
Shkolazhizni.ru

Постоянный адрес статьи

Послать ссылку на этот обзор другу по ICQ или E-Mail:


Разместить у себя на ресурсе или в ЖЖ:


На любом форуме в своем сообщении:

Рейтинг статьи

Рейтинг: 2.8/5 (125 голосов)

Добавить на News2.ru Google slashdot YahooMyWeb Digg Technorati Delicious Забобрить эту страницу! Добавить на Newsland.ru Добавить на СМИ2 Добавить на RUmarkz Добавить на Ваау! Добавить на rucity.com Добавить в закладки МоёМесто.ru Добавить на Habr Добавить на Moi Novosti Добавить страницу к Mister Wong Добавить на Moikrug Добавить на Myscoop Добавить на 100zakladok Добавить на NewsGrad




Похожие статьи

1: Что такое PHP-Nuke
Это - CMS, который включает в себя все инструменты, необходимые для создания портала (в широком его понимании). Принимая во внимание большое количество реализованных по умолчанию функций, а так же нал...

2: Каким должен быть код интернет-страниц? Читабельность v размер. Часть 1. HTML
Эта статья, в первую очередь, будет интересна начинающим или не очень опытным сайтостроителям, но возможно, что и искушенные в этом нелёгком деле люди тоже найдут пару интересных советов. Никогда не п...

3: Имя и судьба - есть ли связь между ними?
Имя – это наш опознавательный знак, наше записанное «я». Это слово, которое сопровождает нас всю жизнь. Каждый человек знает, как его зовут, как зовут его родных и близких, его друзей и коллег по рабо...

4: Что делать, если результат не достигается? Ну, никак! Часть 2.
Практически каждый из нас может справиться с Успехом, но очень немногие могут справиться с Неудачей. А ведь именно наши Неудачи и есть ступеньки на пути к Успеху. Бодо Шеффер Итак, учимся преодолевать...

5: Что в имени тебе моем?
Выбор имени ребенка является непростой задачей, стающей перед ее родителями. Имена имеют вес, имя несет на себе нагрузку, излучает доверие, престиж, надежность, качество. Имя человека является его важ...




Copyright © 2006-2019 ExcelioN
Правовая информация
Все права защищены
.