ТОП-10 популярных



Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...

НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...

БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...

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

Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...

ПОД ЛИТЕРОЙ «N»
Aтаку LCD-мониторов не остановить, а масштабы этого наступления даже немного пугают. Судите сами — многие пользователи только начинают приглядываться к новому для...


Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...

Размер объему не помеха.
С тех пор как компания Fujitsu отказалась от производства жестких дисков для настольных компьютеров, многие пользователи начали забывать о том,...


Какую только информацию мы не помещаем на компакт-диски: резервные копии важных данных, музыку, фильмы... Многие полагают, что главное - «купить...

PHP. Эффективность и отладка


05-07-2015

Эта глава затрагивает вопросы эффективности и отладки, которые можно скорее отнести к области искусства, чем науки. Эффективность не должна быть первостепенной задачей при создании программного кода. Сначала необходимо написать код, который бы работал, а задачей второго плана может быть обслуживаемость и понятность созданного программного кода.
По мере приобретения опыта в программировании можно переключиться на тактические аспекты проектирования. Это и понятно, поскольку подобные структуры сталкиваются с похожими проблемами. В процессе выполнения проектов индивидуальные разработчики и коллективы разработчиков создают свои собственные идиомы, которые легко можно отследить по журнальным статьям и репозиториям программных кодов. Приняв на вооружение определенную идиому, разработчик может положиться на нее как на уже решенную проблему. Такой подход позволяет сэкономить время при написании программного кода.
В большинстве проектов большую часть времени, необходимого для выполнения программы, потребляет наименьшая часть кода. Конечно, имеет смысл прежде всего обратить внимание на самый медленный фрагмент программного кода. Если производительность возрастает до приемлемого уровня, оптимизацию можно закончить.
При наличии ошибки в сценарии время, затраченное на написание полных комментариев и обозначений, окупится сторицей. Иногда простой просмотр проблемного кода позволяет обнаружить в нем узкие места. Для того чтобы разобраться в проблеме, достаточно распечатать значения переменных.
Из книг, посвященных данной теме, можно порекомендовать следующие. В книге WritingSolid Code Стива Мэгьюра (Steve Maguire) описывается создание приложений на языке программирования C, но многие концепции, изложенные в ней, применимы и для программирования сценариев PHP. Другой такой книгой является книга Брайана У. Кернигана, Роба Пайка Практика программирования, выпущенная на русском языке в ИД "Вильямс" в 2004 году. 
28.1. Оптимизация
Одна из причин, по которой был выбран PHP, - это возможность быстро создать Web-приложения, не беспокоясь при этом о следовании всем правилам хорошего проектирования. Когда дело доходит до быстрого создания прототипов, PHP проявляет себя с наилучшей стороны. Когда наступает очередь использования этих возможностей PHP, на передний план выступает ответственность за создание прозрачного кода, когда наступает время создавать программный код длительного использования. Следование руководству по написанию стиля поможет создавать понятные программы, но, к сожалению, неэффективные.
Оптимизация представляет собой процесс тонкой настройки программы для ускорения ее работы или снижения потребления ею памяти. Потребление памяти не входит в число первостепенных факторов, так как память стала относительно недорогой, а вот уменьшение времени выполнения всегда является желательным.
Начиная писать программу, необходимо чем-то пожертвовать, например произво­дительностью в пользу прозрачности написания. Следуйте соглашениям по кодированию, таким как использование mysql_fetch_row вместо mysql_result, но помните, что время программирования является достаточно дорогим, особенно на этапе понимания кода программистами. В таком случае лучшим решением всегда является простейшее.
После завершения разработки программы необходимо обратить внимание на ее производительность. Если проект выигрывает от формальных требований к спецификациям, обратитесь к любым ограничениям рабочих характеристик. Не будет лишним рассмотреть максимальную нагрузку на страницу для Web-приложений. На время, проходящее от щелчка на ссылке до полного появления страницы на экране, влияют самые различные факторы. Обязательно ограничьте влияние таких факторов, которые невозможно контролировать, как, например, скорость работы сети.

Понравился материал? Поделитесь с друзьями!



<< Предыдущая статьяСледующая статья >>
PHP. Проэктирование. Часть Четырнадцатая. PHP. Эффективность и отладка. Часть Вторая.