Для тех, чей опыт программирования не связан с Web, оптимизация может иметь большое значение. В случае использования языка РНР, большая часть времени ожидания пользователя веб-приложения связана с подключением и загрузкой из сети. По сравнению с этим эффект от оптимизации кода оказывается несущественным.
Тем не менее, существует несколько простых методов оптимизации, которые создают ощутимый эффект. Многие из них связаны с приложениями, которые через РНР-код взаимодействуют с базами данных, такими как MySQL. Некоторые из методов перечисляются ниже:
Компания Zend Technologies разработала механизм сценариев (с открытым исходным кодом) РНР, начиная с версии 4. В дополнение к базовому механизму можно загрузить улиту оптимизации Zend Optimizer/ Этот многопроходный оптимизатор выполняет оптимизацию кода и может повысить быстродействие сценариев от 40% до 100%. Для выполнения улиты оптимизации необходима версия PHP 4.0.2 или выше. Исходный код программы можно бесплатно загрузить из веб-сайта Zend по адресу:
http://www.zend.com/
Этот подключаемый модуль выполняет оптимизацию кода, получаемого в результате компиляции времени выполнения сценария. Ожидается выпуск нового продукта Zend Cache, который выполняет компиляцию PHP-сценариев и буферизирует их. Таким образом, повторная компиляция сценариев потребуется только в случае их изменения. Это позволит еще больше повысить быстродействие.
Просмотр и тестирование кода является еще одним важным этапом разработки программ, который часто упускают, занимаясь программированием для Веб. Очень легко два-три раза запустить программу и отметить, что она нормально работает. Это распространенная ошибка. Прежде чем выпустить продукт, необходимо тщательно проанализировать и испытать несколько сценариев.
Мы рекомендуем два метода снижения количества ошибок в коде. (Полностью избавиться от ошибок никогда не удастся, но большинства из них вполне можно избежать.)
Во-первых, практикуйте проверку кода, когда его просматривает другой программист и предлагает усовершенствования. Подобный анализ часто выявляет:
Даже если код разрабатывается в одиночку, имеет смысл найти коллегу, находящегося в подобной ситуации, и анализировать код друг друга.
Второй метод предусматривает поиск лиц, которые выполнят тестирование веб-приложений, ставя себя на место конечных пользователей продукта. Главное отличие веб-приложений от настольных систем состоит в том, что с веб-приложениями работает самая широкая публика. Здесь не следует рассчитывать, что пользователи разбираются в компьютерной технике. Их нельзя снабдить длинным руководством либо кратким справочником. Вместо этого веб-приложения должны быть самодокументируемыми и самоочевидными. Необходимо учесть возможные способы использования приложения. Удобство работы с приложением имеет абсолютный приоритет.
Опытному программисту или пользователю Веб иногда трудно понять проблемы неискушенных пользователей. Одно из решений — найти тестеров, которые представляют типовых пользователей.
В прошлом применялся следующий подход — сначала выпускались лишь бета-версии веб-приложений. Когда, как предполагалось, большинство ошибок было исправлено, приложение публиковалось для небольшой группы пользователей и невысокой интенсивности трафика сайта. Предложите первым 100 пользователям бесплатные услуги в обмен за отзывы о сайте. Гарантируем, что они укажут на такие комбинацииданных или варианты использования, о которых разработчик даже и не подозревал. Если создание веб-сайта заказывает некоторая компания, она обычно может предоставить для его тестирования достаточно неопытных пользователей в лице своих сотрудников. Существенное преимущество такого подхода состоит в укреплении чувства причастности к сайту со стороны клиента.
Информацию по управлению версиями можно найти на веб-сайте CVS по адресу:
PHP-компоненты, IDE и системы документирования можно найти на сайте SourceForge:
http://sourceforge.net
Если материал вас заинтересовал, рекомендуем ознакомиться с методологией разработки программного обеспечения, посвященной областям, где требования часто меняются, к которым относятся и веб-приложения. Адрес веб-сайта Extreme Programming: