Здесь показаны различия между двумя версиями данной страницы.
Следущая версия | Предыдущая версия | ||
start:инструменты_разработчика [2011/09/09 18:37] sergeyfast создано |
start:инструменты_разработчика [2012/04/11 23:43] (текущий) sergeyfast [Итог] |
||
---|---|---|---|
Строка 25: | Строка 25: | ||
===== Рутинные операции ===== | ===== Рутинные операции ===== | ||
- | * Для начала, нам необходим продвинутый блокнот. Notepad++ или SciTe подойдет. Подсветка синтаксиса, поддержка регулярных выражений, перекодировка файлов, отображение скрытых символов и многое другое. | + | * Для начала, нам необходим продвинутый блокнот. Notepad++ или SciTe подойдет. Но говорят, лучше Sublime Text 2 ничего не придумали :). Подсветка синтаксиса, поддержка регулярных выражений, перекодировка файлов, отображение скрытых символов и многое другое. |
* Когда нам потребуется сравнить два каталога на предмет изменений, используйте Totato DiffMerge. Найдете варианты лучше – обязательно рассмотрим. | * Когда нам потребуется сравнить два каталога на предмет изменений, используйте Totato DiffMerge. Найдете варианты лучше – обязательно рассмотрим. | ||
* Putty, WinSCP помогут справится с проблемами удаленного доступа. | * Putty, WinSCP помогут справится с проблемами удаленного доступа. | ||
Строка 39: | Строка 39: | ||
* EMS SQL Manager for PostgreSQL | * EMS SQL Manager for PostgreSQL | ||
* EMS SQL Manager for MySQL | * EMS SQL Manager for MySQL | ||
- | * JetBrains PhpStrom | + | * JetBrains PhpStorm |
- | * Notepad++ / SciTe | + | * Notepad++ / SciTe / Sublime Text 2 |
* Totato DiffMerge | * Totato DiffMerge | ||
* Putty | * Putty | ||
Строка 60: | Строка 60: | ||
Просмотрите и постарайтесь запомнить горячие клавиши, они существенно упростят вашу работу. Особенно в тех программах, в которых вы работаете ежедневно. Мышкой тоже можно что-то делать, но, как правило, для этого нужно совершить больше действий и потратить больше времени, чем выполнить аналогичную операцию на клавиатуре. Помните, что отрываясь на мышь, вы теряете фокус внимания и драгоценные секунды. | Просмотрите и постарайтесь запомнить горячие клавиши, они существенно упростят вашу работу. Особенно в тех программах, в которых вы работаете ежедневно. Мышкой тоже можно что-то делать, но, как правило, для этого нужно совершить больше действий и потратить больше времени, чем выполнить аналогичную операцию на клавиатуре. Помните, что отрываясь на мышь, вы теряете фокус внимания и драгоценные секунды. | ||
- | ===== Этапы разработки ===== | + | ====== ====== |
- | PHP-разработчик обычно создает проекты (сайты) разного масштаба и функционала. В этом разделе мы будем описывать общие подходы при разработке. По своей сути, любой проект – это отображение или управление данными. | + | [[start:этапы_разработки|Далее >>>]] |
- | + | ||
- | ==== Проектирование ==== | + | |
- | + | ||
- | Разработчик решает задачи. После постановки задачи не нужно сразу бросаться решать её. Для начала нужно понять глубину задачи и все возможные проблемы при её решении. В этом поможет блокнот с ручкой. Если сразу начать писать необдуманный код, то в большинстве случаев его придется переписывать и не по одному разу. | + | |
- | + | ||
- | Для начала, откроем тестовый редактор и с помощью нумерованных списков опишем структуру и объектную модель. На этапе написания такого документа уже становится понятно, с чем мы будем иметь дело. В этом же документе будет записывать возникшие вопросы (пример документа). | + | |
- | + | ||
- | На основе полученного документа будем проектировать структуру БД. База данных – первична. Грамотно спроектированная база данных – уже половина успеха проекта. | + | |
- | После окончания данного этапа у вас должен появиться sql-скрипт для начального создания БД. | + | |
- | + | ||
- | ==== Разработка ==== | + | |
- | + | ||
- | Процесс разработки можно разбить на следующие задачи: | + | |
- | - Создание проекта с помощью MF.Devenv (ссылка на описание данного инструмента). | + | |
- | - Генерация объектной модели и классов для работы с БД. | + | |
- | - Черновая генерация административного интерфейса (VT). | + | |
- | - Доработка административного интерфейса. | + | |
- | - Создание основной части сайта (FE). | + | |
- | + | ||
- | ==== Тестирование ==== | + | |
- | + | ||
- | Проверьте FE во всех последних браузерах. | + | |
- | + | ||
- | Помните, что в пользовательском вводе вам может прийти все что угодно, но только не то, что вы ожидаете (включая значения переменных в $_SERVER). | + | |
- | + | ||
- | Notice – это ошибка. На сервере по умолчанию показываются все ошибки. Должна быть ответственность за код. | + | |
- | + | ||
- | Изменяя CSS или JS файл помните, что он, возможно, уже закешировался браузером – при каждой новой версии файлов должен быть новый путь для них. | + | |
- | + | ||
- | Перед тем, как зафиксировать изменения в системе контроля версий, внимательно изучите разницу между тем, что было и между тем, что стало (например, svn diff). При фиксации кода нужно осознавать внесенные изменения и их значимость. Обязательно оставляйте сообщение о внесенных изменениях. | + | |
- | + | ||
- | Пишите без багов :) | + | |
- | Внедрение | + | |
- | Основное правило – не править ничего на сервере. Все изменения должны фиксироваться в системе контроля версий. Проект на сервере – только из системы контроля версий. | + | |
- | + |