![]() |
|
![]() ![]() ![]() |
|
sandello |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 18.5.2005 Где: Пермь Репутация: нет Всего: 2 |
Столкнулся с проблемой.
Проект развивается довольно давно. Сейчас пришло время добавить некоторую функциональность. Для этого необходимо внести кучу взаимосвязанных изменений в различных модулях и подсистемах. Одни изменения тянут за собой другие и получается так, что если мы хотим коммитить только работающий оттестированный код, то практически все изменения должен вносить один программист. Он же должен добавлять новые и корректировать старые тесты. Бред, какой-то, в общем ![]() Добавление этого функционала довольно просто бьется на куски. И это уже сделано. Проблема во взаимоувязанности этих кусочков. Мне не до конца понятно, как организовать эти работы. Пока вижу такие варианты:
Как лучше поступить в описанной ситуации ![]() -------------------- ![]() |
|||
|
||||
arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 2 Всего: 61 |
sandello, привет. давай попробуем разобраться.
даже самая мелкая подзадача потребует больших перемен в кодобазе? Задача того, кто вносит изменения - обеспечить прохождение тестов. Т.е. он их должен локально запускать и фиксить. ИМХО, это не вариант. Че-то я плюсов совсем не вижу ![]() Вобщем, я довольно близко наблюдал такой подход: в течение 3-ех недель один человек делал рефакторинг ОГРОМНОГО куска проекта, при этом все остальные добавляли новый функционал параллельно. Как? Очень просто. Он не коммитил ничего, но постоянно обновлялся и мерджил чужие изменения со своими. А потом закоммитил. Думаю, что такой подход вполне себе будет работать и для твоего случая. Т.е. не парясь ты раздаешь задачи (при этом каждая должна делаться не дольше 8-ми часов), а программисты перед своими коммитам обновляются из транка и обеспечивают работоспособность того, что сделали другие, со своими изменениями. Будет трудно, ежики будут колоться, но кактус жрать надо ![]() |
|||
|
||||
sandello |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 295 Регистрация: 18.5.2005 Где: Пермь Репутация: нет Всего: 2 |
Тогда будет вариант номер три. Т.е. огромные затраты на то, что бы работала недоделанная система. Это как работа двух мастеров над двигателем машины. Один делает коленвал, другой - клапана. Для работы двигло вытащили и разобрали.
Тесты - всей машины, включая запуск двигателя и моргание лампочками. И что получаем. Вместо того, что бы два мужика покопались в снятом двигателе нужно после каждой операции собирать, проверять (тестируем). В итоге - куча лишней работы. По большому счету - нафиг не нужной. Добавлено через 1 минуту и 19 секунд Я больше склоняюсь к п.4 Лишней работы минимум. И очень похоже на описанный тобою вариант, только для группы разработчиков. -------------------- ![]() |
|||
|
||||
mindflyer |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 113 Регистрация: 20.10.2004 Где: Smolensk, Russia Репутация: нет Всего: 4 |
У нас (точнее в соседней команде) изменения делаются в ветке, и затем мержатся в транк. Причём зачастую мерж делает тим-лид, тем самым осуществляя и ревью кода. Веток бывает много, да, но в целом подход себя оправдывает.
Делать много локальных изменений и не коммитить - чревато последствиями - а ну как винт слетит. |
|||
|
||||
![]() ![]() ![]() |
|
НА ЗЛОБУ ДНЯ: Дорогие посетители, прошу обратить внимание на то, что новые темы, касающиеся новых вопросов, создаются кнопкой "Новая тема", а не "Ответить"! Любые оффтопиковые вопросы, заданные в текущих темах, будут удалены. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, arilou. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | УП: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |