Инструменты пользователя

Инструменты сайта


start:инструменты_разработчика

Это старая версия документа.


Инструменты разработчика

Разработчик решает задачи. И он должен выбрать правильный инструмент для решения задачи, а не затачивать задачу под уже существующий привычный инструмент.

Определим задачи и инструменты:

  • Проектирование БД
  • Работа с БД
  • Процесс разработки
  • Отладка
  • Рутинные операции

Проектирование БД

Для проектирование БД мы будем использовать Toad Data Modeller 2.25 (бывшая Case Studio). Самая последняя версия – 3.4, но она проигрывает версии 2.25 по удобству работы и отображению данных. Программа существует в двух вариантах – бесплатная и trial. В бесплатной версии урезан функционал и есть одно неприятное ограничение – максимум можно создать 25 таблиц. Программа хранит модель БД в виде бинарного файла, может генерировать SQL-скрипт для создания БД.

Работа с БД

Можно использовать phpMyAdmin или phpPgAdmin. Многие думаю, что этих инструментов достаточно для выполнения ежедневных задач, но это не так. Выполнять-то можно, но без какого либо комфорта для себя. За редким исключением используется что-то ещё, но в основном – EMS SQL Manager for PostgreSQL и MySQL. Изучите их возможности.

Процесс разработки

Для работы с PHP нам нужна IDE. Блокнот – это не IDE. Нельзя писать в блокноте большие проекты. Существует достаточное количество различных IDE – Zend, Eclipse, PHPEd, NetBeans. Но как показала практика, на сегодняшний день лучшая IDE для PHP – это PhpStrom (от компании, которая делает только IDE). Если вы не согласны, значит просветление ещё не пришло :).

Отладка

На стороне сервера – xdebug. На стороне клиента – Firefox + Firebug. И все остальные браузеры.

Рутинные операции

  • Для начала, нам необходим продвинутый блокнот. Notepad++ или SciTe подойдет. Подсветка синтаксиса, поддержка регулярных выражений, перекодировка файлов, отображение скрытых символов и многое другое.
  • Когда нам потребуется сравнить два каталога на предмет изменений, используйте Totato DiffMerge. Найдете варианты лучше – обязательно рассмотрим.
  • Putty, WinSCP помогут справится с проблемами удаленного доступа.
  • Для маньяков – Cygwin.
  • С SVN будем работать двумя способами – через TortoiseSVN и консольный svn. Если у вас x64, то устанавливайте TortoiseSVN в двух вариантах – x86 и x64. Это нужно для того, чтобы правильно работало контекстное меню в 32-хбитных приложениях (таких как Total Commander).
  • Для чтения логов есть хорошая утилита WinTail (аналог tail).
  • Для проверки отправки почты нужно поставить Test Mail Server – небольшая утилита, которая слушает 25-й порт и складывает всю входящую почту в папку в виде eml-файлов.
  • RegexBuddy существенно упростит работу с регулярными выражениями.
  • Для диагностики и перехвата всех HTTP-соединений полезно будет использовать утилиту Fiddler или HTTP Analyzer.

Итог

  • Toad Data Modeller v 2.25
  • EMS SQL Manager for PostgreSQL
  • EMS SQL Manager for MySQL
  • JetBrains PhpStrom
  • Notepad++ / SciTe
  • Totato DiffMerge
  • Putty
  • WinSCP
  • TortoiseSVN
  • WinTail
  • Test Mail Server
  • RegexBuddy
  • Fiddler

Браузеры (последние версии)

  • Firefox (Firebug, FirePHP, FireCookie, Web Developer Toolbar, HTML Validator)
  • Opera
  • Chrome
  • Safari
  • IE (последний)
  • IE 6 (Windows XP Mode) [когда же он окончательно уйдет от нас]

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

Этапы разработки

PHP-разработчик обычно создает проекты (сайты) разного масштаба и функционала. В этом разделе мы будем описывать общие подходы при разработке. По своей сути, любой проект – это отображение или управление данными.

Проектирование

Разработчик решает задачи. После постановки задачи не нужно сразу бросаться решать её. Для начала нужно понять глубину задачи и все возможные проблемы при её решении. В этом поможет блокнот с ручкой. Если сразу начать писать необдуманный код, то в большинстве случаев его придется переписывать и не по одному разу.

Для начала, откроем тестовый редактор и с помощью нумерованных списков опишем структуру и объектную модель. На этапе написания такого документа уже становится понятно, с чем мы будем иметь дело. В этом же документе будет записывать возникшие вопросы (пример документа).

На основе полученного документа будем проектировать структуру БД. База данных – первична. Грамотно спроектированная база данных – уже половина успеха проекта. После окончания данного этапа у вас должен появиться sql-скрипт для начального создания БД.

Разработка

Процесс разработки можно разбить на следующие задачи:

  1. Создание проекта с помощью MF.Devenv (ссылка на описание данного инструмента).
  2. Генерация объектной модели и классов для работы с БД.
  3. Черновая генерация административного интерфейса (VT).
  4. Доработка административного интерфейса.
  5. Создание основной части сайта (FE).

Тестирование

Проверьте FE во всех последних браузерах.

Помните, что в пользовательском вводе вам может прийти все что угодно, но только не то, что вы ожидаете (включая значения переменных в $_SERVER).

Notice – это ошибка. На сервере по умолчанию показываются все ошибки. Должна быть ответственность за код.

Изменяя CSS или JS файл помните, что он, возможно, уже закешировался браузером – при каждой новой версии файлов должен быть новый путь для них.

Перед тем, как зафиксировать изменения в системе контроля версий, внимательно изучите разницу между тем, что было и между тем, что стало (например, svn diff). При фиксации кода нужно осознавать внесенные изменения и их значимость. Обязательно оставляйте сообщение о внесенных изменениях.

Пишите без багов :) Внедрение Основное правило – не править ничего на сервере. Все изменения должны фиксироваться в системе контроля версий. Проект на сервере – только из системы контроля версий.

start/инструменты_разработчика.1315579066.txt.gz · Последние изменения: 2011/09/09 18:37 — sergeyfast