SlideShare a Scribd company logo
1 of 33
Проблемы и пути их решения при 
командной разработке проектов 
Digital-агентство AlterEGO 
Иван Машканцев, веб-разработчик
Когда пригодятся эти знания? 
 Вы делаете систему со сложной бизнес- 
логикой 
 Функционал богат на сложные решения 
 Вы применяете не только стандартные 
компоненты 
 Планируется длительная поддержка и 
развитие проекта
Зачем работать командно? 
 Современный сайт — результат труда 
нескольких специалистов 
 Современный сайт — большой функционал, 
скрытый от глаз пользователя 
 Разработка в сжатые сроки 
 Нет незаменимых людей
И в чем проблема? 
 Нет единого стандарта — программистам 
трудно работать с кодом друг друга 
 Разработка на ФТП — проблема с 
коллективной работой с файлами 
 Невозможность исправить ошибку быстро и 
безопасно 
 Трудность в дальнейшей поддержке 
 Вносим правки «в базу» вживую
Мужайтесь
А решить-то можно? 
 Разработка стандартов кодирования 
 Документирование кода 
 IDE 
 VCS 
 WIKI 
 Таск-трекер 
 Миграции 
 Тестирование
Разработка стандартов 
кодирования 
 Согласовать или придумать внутри студии 
правила оформления php-кода, отношение к 
коротким тэгам, отступам, определению 
переменных, методов, классов.... 
 … Или взять готовое!
Нужно соглашение о кодировании
IDE 
 Использовать обязательно 
 Индексация структуры проекта — экономит 
время 
 Помогает соблюсти стандарты кодирования 
 Подсветка кода (а вдруг?) 
 Подсказки для разработчика 
 Интеграция с VSC, выгрузка файлов, дебаг
Варианты? 
 Eclipse 
 Netbeans 
 PhpStorm 
 NuSphere PhpED
Какую же выбрать?
Документирование кода 
 Поможет ориентироваться в проекте 
 Ускоряет работу разработчика 
 Написание не занимает много времени
Но как упростить работу с API 
Битрикс? 
 Живое описание АПИ 
 http://www.bxapi.ru/ — веб-версия живого 
описания АПИ 
 Плагин для вашей любимой IDE — 
например, BitrixStorm для PhpStorm 
 BxApiDocs — для Eclipse или для PhpStorm 
 Сниппеты стандартных компонент Bitrix — 
для Eclipse или для PhpStorm
Система контроля версий 
 Имеем историю изменений 
 Можем работать с одним и тем же файлом 
 Не боимся ничего менять — в любой момент 
мы можем откатиться 
 Делаем код чище 
 Полезно даже для одного разработчика 
 SVN, Git или Mercurial
GitHub или Bitbucket для 
командных проектов
WIKI 
 Что вообще происходит с проектом? 
 Какие особенности есть, о чем стоит знать? 
 Механизм тестирования, узкие места, 
критичные вещи 
 Все доступы — в одном месте 
 Повторное использование знаний 
 Легко поделиться
Настройки сайта 
 Храним в WIKI 
 Выносим изменение стандартных настроек 
модулей или сервисов 
 Члены команды знают, почему изменена та 
или иная настройка и не пытаются этого 
поменять
Таск-трекер 
 Задачи не теряются 
 Возможно оценить готовность этапа 
 Есть история действий над задачей 
 Удобство обсуждения 
 Внятное разделение ответственности 
 Учет потраченного времени
Чего изволите? 
 Mantis 
 JIRA 
 Redmine 
 Bitrix24
Как будем работать? 
 Обсуждаем задачи и рабочий процесс 
 Продакшн — непосредственно боевой сайт 
 Тестовый сайт для показа изменений 
 Локальная копия сайта у всех 
разработчиков 
 Каждый разработчик имеет свою ветку в 
VCS 
 Одна задача — новая ветка 
 Каждый разработчик - отдельный 
пользователь на сайтах
А так можно? 
 Да! 
 Битрикс по правилам лицензирования 
позволяет иметь сайты, которые «не 
смотрят» в интернет, т. е. локальные 
 Если нужна более сложная схема — 
есть NFR ключи 
 Поддержка Битрикса склонна идти на 
встречу
Наконец-то начнем 
 Создаем репозиторий 
 Формируем .ignore - файл 
 Делаем первый коммит 
 Инициируем репозиторий на сервере 
его на сервере 
 Добавляем разработчиков, раздаем 
права
Что не нужно выносить в 
репозиторий? 
 Резервные копии 
 Данные кэша 
 Логи 
 Пользовательские данные (загружаемые 
файлы, картинки и.т.п) 
 Конфиг — подключение к БД 
 Все прочие файлы, не имеющие отношения 
к коду - *.txt, *.xml и.т.п.
Как обновлять систему? 
 С большой осторожностью — что-то 
может отвалиться 
 Делать бэкапы 
 Обновлять тестовую площадку, 
смотреть, затем переносить изменения 
всюду
Перенос изменений БД 
 В Битрикс нет встроенного механизма 
миграций
Houston, we have a problem
И что делать? 
 Смириться 
 Собирать изменения структуры, а 
затем рассылать изменения всем 
участникам 
 Назначить ответственного «повелителя 
проекта», который будет проводить все 
манипуляции с БД 
 Написать механизм миграции самому 
или найти готовый:)
Зачем выбирать механизм 
миграций? 
 Это удобно 
 Экономит время разработчика 
 Возможность «откатиться» обратно 
 Помогает участникам вносить 
изменения, не боясь что-то поломать 
 Снижает риск ошибок
Но помни! 
 Любое внесение критичных изменений 
в структуру базы данных боевого сайта 
должно сопровождаться созданием 
бэкапа 
 Трата 10 минут — потенциальная 
экономия нескольких часов на 
восстановление данных и потерянного 
доверия клиента
Тестирование 
 Ручное тестирование — хорошо, но 
мало 
 Сложные места хорошо тестировать 
автоматизированно 
 Стандартный инструмент — Selenium
Что лучше тестировать 
автоматически? 
 Длинные сценарии 
 Многовариантное заполнение форм 
 Критичный функционал, ошибка в 
котором недопустима
Все получилось! Как ускорить 
работу над следующим 
проектом? 
 Продумай перечень стандартных задач 
 Заведи общую базу знаний 
 Заведи общую базу кода со стандартными 
решениями для использования в будущих 
проектах 
 Вершина дао — свой модуль Marketplace — 
помощь сообществу и удобство доступа
Спасибо за внимание! 
Остались вопросы? 
Email: depechemodefan@alterego.biz.ua 
Skype: depechemode_fan1

More Related Content

What's hot

серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
Sergey Ponomarev
 
Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12
HappyDev
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Yandex
 

What's hot (19)

Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Разработка high load системы на .NET Core
Разработка high load системы на .NET CoreРазработка high load системы на .NET Core
Разработка high load системы на .NET Core
 
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...серёжа пономарёв @ Kuchyn.com.ua junior java developer  программируем по-взро...
серёжа пономарёв @ Kuchyn.com.ua junior java developer программируем по-взро...
 
Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12Максим Гуртовенко - The future is wild | HappyDev'12
Максим Гуртовенко - The future is wild | HappyDev'12
 
Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.Алексей Лустин. Непрерывная проверка качества кода.
Алексей Лустин. Непрерывная проверка качества кода.
 
Типовая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive TechnologiesТиповая сборка и деплой продуктов в Positive Technologies
Типовая сборка и деплой продуктов в Positive Technologies
 
Развитие сообщества Open DevOps Community
Развитие сообщества Open DevOps CommunityРазвитие сообщества Open DevOps Community
Развитие сообщества Open DevOps Community
 
Микросервисный фронтенд
Микросервисный фронтендМикросервисный фронтенд
Микросервисный фронтенд
 
Денис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в ЯндексеДенис Чистяков: Workflow. Работа над проектом в Яндексе
Денис Чистяков: Workflow. Работа над проектом в Яндексе
 
Moscow js node.js enterprise development
Moscow js node.js enterprise developmentMoscow js node.js enterprise development
Moscow js node.js enterprise development
 
MSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on ArchitectureMSDevCon 2016 DevOps Impact on Architecture
MSDevCon 2016 DevOps Impact on Architecture
 
Как мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows DockerКак мы собираем проекты в выделенном окружении в Windows Docker
Как мы собираем проекты в выделенном окружении в Windows Docker
 
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
Как развивать библиотеку компонентов, не ломая ее / Артур Удалов (Mail.Ru Group)
 
Аналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + QlikАналитика в проектах: TFS + Qlik
Аналитика в проектах: TFS + Qlik
 
Java one presentation
Java one presentationJava one presentation
Java one presentation
 
Как жить в согласии с SOLID?
Как жить в согласии с SOLID?Как жить в согласии с SOLID?
Как жить в согласии с SOLID?
 
Cтатические анализаторы систем 1с AgileDays 2015
Cтатические анализаторы систем 1с AgileDays 2015Cтатические анализаторы систем 1с AgileDays 2015
Cтатические анализаторы систем 1с AgileDays 2015
 
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOpsSECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
SECON'2016 Евтухович Иван, Эксплуатация завтрашнего дня: от DevOps к NoOps
 
Nival: Как не увлечься погоней за универсализацией компонент
Nival: Как не увлечься погоней за универсализацией компонентNival: Как не увлечься погоней за универсализацией компонент
Nival: Как не увлечься погоней за универсализацией компонент
 

Viewers also liked

Viewers also liked (9)

Cоцсети? Зачем? Ведь у нас есть сайт!
Cоцсети? Зачем? Ведь у нас есть сайт!Cоцсети? Зачем? Ведь у нас есть сайт!
Cоцсети? Зачем? Ведь у нас есть сайт!
 
Интерактивные карты планировок на сайтах торговых центров
Интерактивные карты планировок на сайтах торговых центровИнтерактивные карты планировок на сайтах торговых центров
Интерактивные карты планировок на сайтах торговых центров
 
Особенности создания дизайна сайта торгового центра
Особенности создания дизайна сайта торгового центраОсобенности создания дизайна сайта торгового центра
Особенности создания дизайна сайта торгового центра
 
Качественная аналитика сайта
Качественная аналитика сайтаКачественная аналитика сайта
Качественная аналитика сайта
 
Metropolis Case
Metropolis CaseMetropolis Case
Metropolis Case
 
Support, как он есть, или чем занимается поддержка сайтов
Support, как он есть, или чем занимается поддержка сайтовSupport, как он есть, или чем занимается поддержка сайтов
Support, как он есть, или чем занимается поддержка сайтов
 
Методология создания интернет-магазина
Методология создания интернет-магазинаМетодология создания интернет-магазина
Методология создания интернет-магазина
 
CRM для интернет-магазина. Возможности сервиса Битрикс24 для эффективной рабо...
CRM для интернет-магазина. Возможности сервиса Битрикс24 для эффективной рабо...CRM для интернет-магазина. Возможности сервиса Битрикс24 для эффективной рабо...
CRM для интернет-магазина. Возможности сервиса Битрикс24 для эффективной рабо...
 
Кнут и пряник. Построение системы мотивации сотрудников с помощью Битрикс24
Кнут и пряник. Построение системы мотивации сотрудников с помощью Битрикс24Кнут и пряник. Построение системы мотивации сотрудников с помощью Битрикс24
Кнут и пряник. Построение системы мотивации сотрудников с помощью Битрикс24
 

Similar to Проблемы и пути их решения при командной разработке проектов

метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
Sergii Shmarkatiuk
 
документирование долгоживущих веб проектов. г. белогорцев. зал 3
документирование долгоживущих веб проектов. г. белогорцев. зал 3документирование долгоживущих веб проектов. г. белогорцев. зал 3
документирование долгоживущих веб проектов. г. белогорцев. зал 3
rit2011
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиков
Media Gorod
 
Кэш виджетов Yii в Redis. Отдача напрямую через Nginx. Трофименко
Кэш виджетов Yii в Redis. Отдача напрямую через Nginx. ТрофименкоКэш виджетов Yii в Redis. Отдача напрямую через Nginx. Трофименко
Кэш виджетов Yii в Redis. Отдача напрямую через Nginx. Трофименко
2ГИС Технологии
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Ontico
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET
Media Gorod
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
HappyDev
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
Sergey Xek
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Ontico
 
Быстрое масштабирование систем
Быстрое масштабирование системБыстрое масштабирование систем
Быстрое масштабирование систем
Media Gorod
 

Similar to Проблемы и пути их решения при командной разработке проектов (20)

метод организации репозитория исходного кода
метод организации репозитория исходного кодаметод организации репозитория исходного кода
метод организации репозитория исходного кода
 
документирование долгоживущих веб проектов. г. белогорцев. зал 3
документирование долгоживущих веб проектов. г. белогорцев. зал 3документирование долгоживущих веб проектов. г. белогорцев. зал 3
документирование долгоживущих веб проектов. г. белогорцев. зал 3
 
Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)Training Labs (www.cmcons.com)
Training Labs (www.cmcons.com)
 
битрикс Framework сергей рыжиков
битрикс Framework   сергей рыжиковбитрикс Framework   сергей рыжиков
битрикс Framework сергей рыжиков
 
Кэш виджетов Yii в Redis. Отдача напрямую через Nginx. Трофименко
Кэш виджетов Yii в Redis. Отдача напрямую через Nginx. ТрофименкоКэш виджетов Yii в Redis. Отдача напрямую через Nginx. Трофименко
Кэш виджетов Yii в Redis. Отдача напрямую через Nginx. Трофименко
 
Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)Непрерывная интеграция при разработке баз данных. (Show version)
Непрерывная интеграция при разработке баз данных. (Show version)
 
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
Экосистема или зоопарк / Федор Щудло (EastBanc Technologies)
 
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
Тестирование и оптимизация 1С-Битрикс (Александр Демидов, Олег Бунин)
 
1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET1С-Битрикс: Управление сайтом Версия .NET
1С-Битрикс: Управление сайтом Версия .NET
 
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
2015-12-05 Сергей Аверин - Javascript-фреймворки: должен остаться только один
 
1С-Битрикс - Производительность
1С-Битрикс - Производительность1С-Битрикс - Производительность
1С-Битрикс - Производительность
 
Лучшие практики на практике
Лучшие практики на практикеЛучшие практики на практике
Лучшие практики на практике
 
Javascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только одинJavascript-фреймворки:
 должен остаться только один
Javascript-фреймворки:
 должен остаться только один
 
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
Javascript-фреймворки: должен остаться только один / Аверин Сергей (Acronis)
 
Быстрое масштабирование систем
Быстрое масштабирование системБыстрое масштабирование систем
Быстрое масштабирование систем
 
Разработка ресурсоемких приложений в среде Visual C++
Разработка ресурсоемких приложений в среде Visual C++Разработка ресурсоемких приложений в среде Visual C++
Разработка ресурсоемких приложений в среде Visual C++
 
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
Конфигурационное управление и управление изменениями с IBM Rational ClearCase...
 
Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)Что вас ждет на пути реализации Soa (Битрикс отступает)
Что вас ждет на пути реализации Soa (Битрикс отступает)
 
C# Web. Занятие 14.
C# Web. Занятие 14.C# Web. Занятие 14.
C# Web. Занятие 14.
 
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
1С-Битрикс: Управление сайтом. Платформа для создания и управления корпоратив...
 

Проблемы и пути их решения при командной разработке проектов

  • 1. Проблемы и пути их решения при командной разработке проектов Digital-агентство AlterEGO Иван Машканцев, веб-разработчик
  • 2. Когда пригодятся эти знания?  Вы делаете систему со сложной бизнес- логикой  Функционал богат на сложные решения  Вы применяете не только стандартные компоненты  Планируется длительная поддержка и развитие проекта
  • 3. Зачем работать командно?  Современный сайт — результат труда нескольких специалистов  Современный сайт — большой функционал, скрытый от глаз пользователя  Разработка в сжатые сроки  Нет незаменимых людей
  • 4. И в чем проблема?  Нет единого стандарта — программистам трудно работать с кодом друг друга  Разработка на ФТП — проблема с коллективной работой с файлами  Невозможность исправить ошибку быстро и безопасно  Трудность в дальнейшей поддержке  Вносим правки «в базу» вживую
  • 6. А решить-то можно?  Разработка стандартов кодирования  Документирование кода  IDE  VCS  WIKI  Таск-трекер  Миграции  Тестирование
  • 7. Разработка стандартов кодирования  Согласовать или придумать внутри студии правила оформления php-кода, отношение к коротким тэгам, отступам, определению переменных, методов, классов....  … Или взять готовое!
  • 8. Нужно соглашение о кодировании
  • 9. IDE  Использовать обязательно  Индексация структуры проекта — экономит время  Помогает соблюсти стандарты кодирования  Подсветка кода (а вдруг?)  Подсказки для разработчика  Интеграция с VSC, выгрузка файлов, дебаг
  • 10. Варианты?  Eclipse  Netbeans  PhpStorm  NuSphere PhpED
  • 12. Документирование кода  Поможет ориентироваться в проекте  Ускоряет работу разработчика  Написание не занимает много времени
  • 13. Но как упростить работу с API Битрикс?  Живое описание АПИ  http://www.bxapi.ru/ — веб-версия живого описания АПИ  Плагин для вашей любимой IDE — например, BitrixStorm для PhpStorm  BxApiDocs — для Eclipse или для PhpStorm  Сниппеты стандартных компонент Bitrix — для Eclipse или для PhpStorm
  • 14. Система контроля версий  Имеем историю изменений  Можем работать с одним и тем же файлом  Не боимся ничего менять — в любой момент мы можем откатиться  Делаем код чище  Полезно даже для одного разработчика  SVN, Git или Mercurial
  • 15. GitHub или Bitbucket для командных проектов
  • 16. WIKI  Что вообще происходит с проектом?  Какие особенности есть, о чем стоит знать?  Механизм тестирования, узкие места, критичные вещи  Все доступы — в одном месте  Повторное использование знаний  Легко поделиться
  • 17. Настройки сайта  Храним в WIKI  Выносим изменение стандартных настроек модулей или сервисов  Члены команды знают, почему изменена та или иная настройка и не пытаются этого поменять
  • 18. Таск-трекер  Задачи не теряются  Возможно оценить готовность этапа  Есть история действий над задачей  Удобство обсуждения  Внятное разделение ответственности  Учет потраченного времени
  • 19. Чего изволите?  Mantis  JIRA  Redmine  Bitrix24
  • 20. Как будем работать?  Обсуждаем задачи и рабочий процесс  Продакшн — непосредственно боевой сайт  Тестовый сайт для показа изменений  Локальная копия сайта у всех разработчиков  Каждый разработчик имеет свою ветку в VCS  Одна задача — новая ветка  Каждый разработчик - отдельный пользователь на сайтах
  • 21. А так можно?  Да!  Битрикс по правилам лицензирования позволяет иметь сайты, которые «не смотрят» в интернет, т. е. локальные  Если нужна более сложная схема — есть NFR ключи  Поддержка Битрикса склонна идти на встречу
  • 22. Наконец-то начнем  Создаем репозиторий  Формируем .ignore - файл  Делаем первый коммит  Инициируем репозиторий на сервере его на сервере  Добавляем разработчиков, раздаем права
  • 23. Что не нужно выносить в репозиторий?  Резервные копии  Данные кэша  Логи  Пользовательские данные (загружаемые файлы, картинки и.т.п)  Конфиг — подключение к БД  Все прочие файлы, не имеющие отношения к коду - *.txt, *.xml и.т.п.
  • 24. Как обновлять систему?  С большой осторожностью — что-то может отвалиться  Делать бэкапы  Обновлять тестовую площадку, смотреть, затем переносить изменения всюду
  • 25. Перенос изменений БД  В Битрикс нет встроенного механизма миграций
  • 26. Houston, we have a problem
  • 27. И что делать?  Смириться  Собирать изменения структуры, а затем рассылать изменения всем участникам  Назначить ответственного «повелителя проекта», который будет проводить все манипуляции с БД  Написать механизм миграции самому или найти готовый:)
  • 28. Зачем выбирать механизм миграций?  Это удобно  Экономит время разработчика  Возможность «откатиться» обратно  Помогает участникам вносить изменения, не боясь что-то поломать  Снижает риск ошибок
  • 29. Но помни!  Любое внесение критичных изменений в структуру базы данных боевого сайта должно сопровождаться созданием бэкапа  Трата 10 минут — потенциальная экономия нескольких часов на восстановление данных и потерянного доверия клиента
  • 30. Тестирование  Ручное тестирование — хорошо, но мало  Сложные места хорошо тестировать автоматизированно  Стандартный инструмент — Selenium
  • 31. Что лучше тестировать автоматически?  Длинные сценарии  Многовариантное заполнение форм  Критичный функционал, ошибка в котором недопустима
  • 32. Все получилось! Как ускорить работу над следующим проектом?  Продумай перечень стандартных задач  Заведи общую базу знаний  Заведи общую базу кода со стандартными решениями для использования в будущих проектах  Вершина дао — свой модуль Marketplace — помощь сообществу и удобство доступа
  • 33. Спасибо за внимание! Остались вопросы? Email: depechemodefan@alterego.biz.ua Skype: depechemode_fan1