Совместная разработка и контроль качества кода
Командная разработка открытого (и не только) проекта: общие принципы
- Соблюдать принятые полиси (оформления кода, ведения дискуссии и т. п.)
- Заявление о намерениях
- Удобство
- Читать
- Чужой код
- Информационный поток
- Участвовать в информационном пространстве
- Пояснения, комментарии и тусовка
- Багтрекеры
Пример:
- Лидер проекта
- Разработчик
- Случайный разработчик
- Автор контента
⇒
- Полиси и рабочий процесс по разработке
- Precious repo + индивидуальные хранилища
- Полиси по взаимодействию с контентом
- Тестовый свободный + авторский
- Рабочий процесс тестирования
Совместная разработка и немножко больше про git
- Что бы уже знаем про git (повторение)
- История и её роль в процессе разработки
Методы точечного переписывания истории: reset + commit, commit --amend
Переписывание истории в целом: rebase
- Перемещение ветви, зачем это нужно
rebase --interactive
- …
stash
Сопровождение публичного и «релизного» хранилища
Удалённые хранилища, push / pull (повторение)
merge (pull = fetch + merge)
- Прямоточный, рекурсивный и ручной мерж
mergetool и четыре полушария
- Merge-request
git format-patch // git apply/git am
Подробнее про remote
отсюда в лекцию не вошло
Средства контроля качества исходного кода
Основная ссылка: pep-0008 — рекомендации к оформлению кода.
Анализаторы кода:
Статический анализ: pyflakes, …
PyLint
Жёсткость pep-0008
Пример: в коде PyGame-проекта
- Настройка:
pylint --generate-rcfile
- Отдельные параметры
- Пример настройки для vim
Почему так делать не надо