Дизайн в скриптах

Автор: Topol Вторник, Апрель 17th, 2012 Нет комментариев

Рубрика: Программирование

«Дизайн в скриптах — не главное». К сожалению, это утверждение я слышу слишком часто и к ещё большему сожалению — от программистов, которые эти самые скрипты и пишут. Сразу хочу предупредить, что это не руководство к действию и не единственно верное мнение, это всего-навсего мои скромные субъективные мысли.

Вы когда-нибудь ставили себя по ту сторону баррикад, на место пользователя? Если нет, то советую это делать почаще. А если ставили, то должны относительно представлять как реагирует средне статистический пользователь при установке и первом знакомстве с вашим детищем. Сначала юзверь, ясное дело, смотрит на внешний вид скрипта — как ни крути, а встречают по одёжке, а это уже говорит о том, что внешний вид — далеко не последнее дело и заботиться о нём надо бережно и с должным вниманием. Далее, хитрый пользователь пытается перекроить дизайн и структуру скрипта под свои нужды и вкусы. И уже потом наступает очередь разбора самих функций скрипта и оценка «того гениального решения на 184й сроке».

Так вот, из всего вышесказанного следует, что если держаться принципа «дизайн — не главное», момент оценки ваших программистских способностей может и не наступить. Пользователь, особенно не искушённый в программировании, просто брезгливо заделитит ваше творение и пойдёт искать дальше — более эстетичных собратьев по цеху. Совсем не обязательно творить гениальные дизайнерские решения — этим займётся сам пользователь, но более-менее приличный внешний вид придать нужно обязательно. Проще всего для этих целей руководствоваться принципом «внешний вид должен быть таким, чтобы скрипт можно было использовать без каких-либо изменений».

Это прозвучит банально, но дизайн — это не только цветовая гамма и картинки, но ещё и такая немаловажная вещь как структура. Скрипт должен быть структурирован так, чтобы при первом осмотре пользователь сказал себе : «Да, этим скриптом будет удобно пользоваться». Так что, имхо, не следует слишком увлекаться оригинальностью и уж тем более изобретать колёса.

Итак, внешний вид понравился, ещё какое-то время скрипт проживёт на винте пользователя (или на винте его хостера). Теперь все силы нашего юзера будут брошены на переделку скрипта «под себя» и для этого он должен быть обеспечен соответствующими возможностями и инструментами. А это уже наша забота. Ясен перец, что если ваш скрипт состоит из одного файла и весь дизайн слеплен из хаотичных echo, разбросанных по всему скрипту — благоразумный и экономящий свои силы и время пользователь повторит процедуру, описанную в третьем параграфе. Мухи и котлеты должны существовать в разных измерениях — это факт. Так что желательно позаботиться об отделении изменяемого пользователем дизайна от самого кода скрипта.

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

Файл index.php :

<?php

$title=»My home page»;
$data=file(«data.txt»);
$data=implode(«»,$data);
$bgcolor=»#ffffff»;

include(«template.html»);

?>

Файл template.html :

<?php
echo <<<HTML

<html>
<header>
<title>$title</title>
</header>
<body gbcolor=$bgcolor>
$data
</body>
</html>

HTML;
?>

Как видите, в основном файле мы определили три переменных, которые используются в шаблоне, подключаемом в конце скрипта. Таким образом, пользователь без особых трудностей сможет редактировать шаблон по своему усмотрению, не копаясь без надобности в основном алгоритме.

В заключении, хочу сказать пару слов о шаблонной этике. Важно помнить, что удобство пользователя — вещь немаловажная. Желательно называть переменный, используемые в шаблонах, понятными именами. Есть разница между $a[12] и $main_menu, не так ли? Опять же, не будет лишним в файле помощи составить список всех используемых переменных и из значений.

Источник: woweb.ru

Оставить комментарий

Чтобы оставлять комментарии Вы должны быть авторизованы.

Похожие посты