⇤ ← Версия 1 от 2011-02-26 21:57:06
3541
Комментарий: - сборка, тестирование, packaging, deployment
|
4923
|
Удаления помечены так. | Добавления помечены так. |
Строка 27: | Строка 27: |
* Зависимости тикетов * Планирование выполнения * Оповещение * Связь с VCS (связанные коммиты, закрытие тикетов коммитами) |
|
Строка 32: | Строка 36: |
* Связь с ticket system — кросслинкинг, in-place queries | |
Строка 43: | Строка 48: |
* Review кода как способ рещения проблемы надсинтаксических аспектов качества кода | * Review кода как способ решения проблемы надсинтаксических аспектов качества кода * Review кода и DVCS workflow * git format-patch |
Строка 50: | Строка 57: |
* Автоматизированная сборка как важный аспект совместной разработки * Воспроизводимость * Различные окружения и приспособление к ним * Упоминание make, autotools, cmake, scons как инструментов автоматизированной сборки * Тестирование — выявление регрессий, контроль качества, часть ревью, источник тикетов * Интеграция с DVCS workflow * Интеграция с ревью * Packaging, tar.gz-rpm-deb как примеры * Deploy, пример схем деплоя (см. rider vs gosuslgi) * ''Практика:'' развёртывание buildbot (?) * ''Практика:'' развёртывание сборочницы и репозитария, интеграция с buildbot, интеграция с DVCS. |
План курса «Организационные аспекты совместной разработки»
- Введение.
- Зачем этот курс
- Структура курса, почему так
- VCS
- Зачем VCS
- Workflow/use cases и вытекающие из этого свойства
- DVCS
- Git как пример (D)VCS
- Управление репозиториями
Практика: развёртывание gitolite
- Аутентификация
- Зачем аутентификация
- Где нужна аутентификация
- Способы аутентификации
- LDAP
Практика: ?
- Если рассмтаривать HTTP-only сервисы, можно показать на примере htpasswd/htdigest
- Если не только их (git?) — таки да, нужен LDAP
- Организация работы с фичами и багами, ticket system, request tracking
- Баги и фичи как важный аспект процесса разработки
- Организация работы с багами и фичами как основополагающий аспект совместной разработки
- Понятие тикета
- Понятие milestone и версии
- Trac как пример lightweight ticket system
- Зависимости тикетов
- Планирование выполнения
- Оповещение
- Связь с VCS (связанные коммиты, закрытие тикетов коммитами)
Практика: развёртывание Trac
- Redmine как пример полновесной ticket system
- Организация информационного пространства, Wiki
- Информационное пространство как место сохранения тайного знания
- Wiki как способ организации информационноо пространства
- Связь с ticket system — кросслинкинг, in-place queries
- Moin как пример wiki
- (?) Moin2 как пример wiki, интегрирующейся с VCS
Практика: развёртывание moin/moin2
- Качество кода: style guides, review, documentation
- Качественный код как важный аспект совместной эффективной разработки
- Единство и хорошесть стиля
- Документированность
- Надсинтаксические аспекты
- Style guidelines как способ решения проблемы стиля кода
- style checkers/formatters как способ форсирования style guidelines (indent, что ещё)
- Doxygen как пример средства самодокументирования. Специализированные средства: sphynx (python)
- Review кода как способ решения проблемы надсинтаксических аспектов качества кода
- Review кода и DVCS workflow
- git format-patch
- Review кода и DVCS workflow
- Reviewboard как пример
Практика: настройка pre-commit хуков, проверяющих style guidelines
Практика: настройка post-commit хуков, применяющих style guidelines
Практика: настройка post-commit хуков, перегенерирующих документацию к коду
Практика: установка и настройка review board
- Качественный код как важный аспект совместной эффективной разработки
- Оформление результата: сборка, тестирование, packaging, deployment
- Автоматизированная сборка как важный аспект совместной разработки
- Воспроизводимость
- Различные окружения и приспособление к ним
- Упоминание make, autotools, cmake, scons как инструментов автоматизированной сборки
- Тестирование — выявление регрессий, контроль качества, часть ревью, источник тикетов
- Интеграция с DVCS workflow
- Интеграция с ревью
- Packaging, tar.gz-rpm-deb как примеры
- Deploy, пример схем деплоя (см. rider vs gosuslgi)
Практика: развёртывание buildbot (?)
Практика: развёртывание сборочницы и репозитария, интеграция с buildbot, интеграция с DVCS.
- Автоматизированная сборка как важный аспект совместной разработки