Работа в команде
| |
SanAV | Дата: Четверг, 01 Сентября 2011, 10:41 | Сообщение # 1 |
Alex Versus
Сейчас нет на сайте
| Всем привет. Собственно, мне стало интересно, как требуется работать в команде? Даже не так - как вообще работать в команде?
Меня не интересуют все эти темы о моральной подготовке, одинаковых мнениях, возможности уступать в споре, этого я уже начитался. Интересует чисто техническая сторона работы двух и более программистов. Работаем в Microsoft Visual Studio, язык - C++. Хотелось бы услышать мнение и советы людей, которые уже работали в командах, может у кого на работе работают несколько программистов над одним проектом?
Слышал о SVN, принцип работы вроде бы ясен, но тем не менее, некоторые аспекты не понятны.
My Games: · [2D, TDS] Death Embrace.
|
|
| |
Kornival | Дата: Четверг, 01 Сентября 2011, 11:07 | Сообщение # 2 |
The Witcher
Сейчас нет на сайте
| Quote (SanAV) Слышал о SVN, принцип работы вроде бы ясен, но тем не менее, некоторые аспекты не понятны. какие?
|
|
| |
SanAV | Дата: Четверг, 01 Сентября 2011, 11:17 | Сообщение # 3 |
Alex Versus
Сейчас нет на сайте
| Не технические, нет. Меня интересует, как этим самым программистам сгрупироваться, как будет писаться код в SVN, что будет, если каждый будет вносить свои правки в чужие классы и файлы проекта.
My Games: · [2D, TDS] Death Embrace.
|
|
| |
Kornival | Дата: Четверг, 01 Сентября 2011, 11:18 | Сообщение # 4 |
The Witcher
Сейчас нет на сайте
| Клик
|
|
| |
SanAV | Дата: Четверг, 01 Сентября 2011, 11:32 | Сообщение # 5 |
Alex Versus
Сейчас нет на сайте
| Спасибо, но не совсем то. В продление темы вопрос, немного разъясняющий сабж темы и мои непонятки: Что будет, если один программист работает над небольшой фичей (Категория Y), а второй программист над исправлением ошибок (Z). После работы, оказывается, что фича работает только на версии, которая была первой для первого программиста - без исправления некоторых ошибок, а с добавлением костылей фича не работает.
Может ли быть такое и как такого избежать?
My Games: · [2D, TDS] Death Embrace.
|
|
| |
Kornival | Дата: Четверг, 01 Сентября 2011, 11:35 | Сообщение # 6 |
The Witcher
Сейчас нет на сайте
| Quote (SanAV) Может ли быть такое и как такого избежать? Не может, если программист исправлявший ошибки не наделал новых.
|
|
| |
iLORd | Дата: Четверг, 01 Сентября 2011, 11:40 | Сообщение # 7 |
заслуженный участник
Сейчас нет на сайте
| Кроме svn есть и другие системы управления версиями. Git, например. Кроме этого, лид-программист обычно раздаёт задания с таким учётом, чтоб никому не потребовалось "вносить свои правки в чужие классы", а чтоб все были заняты своей частью работы. Перед началом работы определяется/выбирается конвенция написания кода, чтоб если необходимость что-то править всё-таки возникнет, не было бы проблем в понимании чужого кода. Ну и баг-трекеры, планировщики с делегированием заданий, диаграммы Ганта и прочие сопутствующие программки и сервисы.
Bread Games - пилим ураганный экшен!
|
|
| |
den94ka | Дата: Четверг, 01 Сентября 2011, 11:40 | Сообщение # 8 |
постоянный участник
Сейчас нет на сайте
| Я работаю в одной фирме, которая занимается играми.
Слышали о Git? Его мы используем для хранения файлов и обновления их (сделаны исправление - заливаем файлы), ну и как Контроль Версий тоже. Есть еще AgileZen.com - хорошая вещь для ведения разработки. Так же есть общекомандный DropBox, очень помогает. А вообще разработка должна быть согласована, в этом то и суть работы в команде. Если нет согласованности, то вам ничто не поможет...
|
|
| |
den94ka | Дата: Четверг, 01 Сентября 2011, 11:43 | Сообщение # 9 |
постоянный участник
Сейчас нет на сайте
| Quote (iLORd) Кроме svn есть и другие системы управления версиями. Git, например. Кроме этого, лид-программист обычно раздаёт задания с таким учётом, чтоб никому не потребовалось "вносить свои правки в чужие классы", а чтоб все были заняты своей частью работы. Перед началом работы определяется/выбирается конвенция написания кода, чтоб если необходимость что-то править всё-таки возникнет, не было бы проблем в понимании чужого кода. Ну и баг-трекеры, планировщики с делегированием заданий, диаграммы Ганта и прочие сопутствующие программки и сервисы. Написал почти тоже самое
Agilezen.com - как я говорил, отличный планировщик. Баг трэкер используем Youtrack (правда он дорогой, но можно поискать не лицензионную версию (при условии, что вы разрабатываете коммерческие проекты,то за не лицензионную версию вас накажут))
Если есть вопросы - обращайся. А лучше, пиши в теме, мне кажется, это многим интересно.
|
|
| |
SanAV | Дата: Четверг, 01 Сентября 2011, 12:01 | Сообщение # 10 |
Alex Versus
Сейчас нет на сайте
| Quote (den94ka) Если есть вопросы - обращайся. А лучше, пиши в теме, мне кажется, это многим интересно. Я скорее в теме буду, ибо должно многим понадобится. Может новичкам с их супер ММОРПГ и EpicMegaGamesKiller-командами поможет
Quote (Kornival) Не может, если программист исправлявший ошибки не наделал новых. Хорошо, тогда так - мы используем движок HGE. Рендер объектов проходит в одной функции, в одном файле. Можно, конечно, сделать отдельные функции для вывода набора объектов (например, LoadLevel, RengerHUD), но рассмотрим все же вариант, когда все в одном файле, в одной функции.
Допустим, я пишу команду вывода объекта на экран. Мой товарищ делает это тоже, но с другим объектов. Если я "опережу" его, доделав вывод объектов раньше него и, соответственно, "синхронизировавшись" с ним, увидит ли он изменения? Или же только после того, как сам доделает и решит обновить файлы на репозитории?
Quote (iLORd) Кроме этого, лид-программист обычно раздаёт задания с таким учётом, чтоб никому не потребовалось "вносить свои правки в чужие классы", а чтоб все были заняты своей частью работы. В том то и дело, что лидеров в команде пока не намечается, ибо всего два человека, оба программисты. Если кто-то будет лидером - будет явная дискриминация, ибо навыки относительно одинаковы, достаточно адекватно управлять может каждый.
Quote (den94ka) Слышали о Git? Слышали, на Хабре, в статьях. Советовали больше, обосновывая это стабильностью Git'а относительно SVN. Вообще, в чем разница между SVN, Git и Agilezen.com? Что лучше бы подошло для небольшой, как выше указывалось, команды с средним, по размерам, проектом?
My Games: · [2D, TDS] Death Embrace.
|
|
| |
Kornival | Дата: Четверг, 01 Сентября 2011, 12:03 | Сообщение # 11 |
The Witcher
Сейчас нет на сайте
| Quote (SanAV) увидит ли он изменения? Разумеется, номер твоей версии будет отличаться.
|
|
| |
noTformaT | Дата: Четверг, 01 Сентября 2011, 12:07 | Сообщение # 12 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (SanAV) как требуется работать в команде? есть главный, лично у меня это проект менеджер, он управляет всеми - программистами и дизайнерами (звук пишут другие). Quote (SanAV) . Интересует чисто техническая сторона работы двух и более программистов. Мы используем Redmine - открытое серверное веб-приложение для управления проектами и отслеживания ошибок. Насчет системы контроля версии - SVN прикрученный к Redmine. Оба весят на нашем серваке. ПМ так распределяет обязанности программистов, что никто не лезит в чужой код. Первый пишет эту часть, второй эту. Проблем никаких быть не должно. Quote (SanAV) Слышал о SVN, принцип работы вроде бы ясен, но тем не менее, некоторые аспекты не понятны. Что именно не ясно? это же просто системя для контроля кода. Она простая. Она просто контролирует версии кода (Ветвление, Создание ветвей, Слияние). Самая последняя функция свн - хранилище.
@noTformaT
|
|
| |
den94ka | Дата: Четверг, 01 Сентября 2011, 12:09 | Сообщение # 13 |
постоянный участник
Сейчас нет на сайте
| Quote (SanAV) Хорошо, тогда так - мы используем движок HGE. Рендер объектов проходит в одной функции, в одном файле. Можно, конечно, сделать отдельные функции для вывода набора объектов (например, LoadLevel, RengerHUD), но рассмотрим все же вариант, когда все в одном файле, в одной функции.
Допустим, я пишу команду вывода объекта на экран. Мой товарищ делает это тоже, но с другим объектов. Если я "опережу" его, доделав вывод объектов раньше него и, соответственно, "синхронизировавшись" с ним, увидит ли он изменения? Или же только после того, как сам доделает и решит обновить файлы на репозитории?
Вот в том то и дело, что вам надо будет согласовывать работу. Например, сделать задания на неделю каждому. (Одному написать то-то, другому то-то) И самое главное, чтобы у каждого были свои классы/файлы, желательно, чтобы в начале они по минимуму пересекались, иначе вы теряете время, занимаясь одним и тем же. Agilezen.com как раз в этом помогает. Это не контроль версий и т.д. Это обычный планировщик. Если хочешь, я расскажу, как им пользоваться.Quote (SanAV) Вообще, в чем разница между SVN, Git и Agilezen.com? Agilezen.com и системы контроля версий - разные вещи. Agilezen - планировщик, как было сказано выше. Там вы можете задавать задачи и расписывать их по пунктам. Потом, по мере выполнения, закрывать пункты, и закрыв все пункты, закрывать задачу. (Ну это примерно)
|
|
| |
SanAV | Дата: Четверг, 01 Сентября 2011, 12:10 | Сообщение # 14 |
Alex Versus
Сейчас нет на сайте
| Quote (noTformaT) Что именно не ясно? это же просто системя для контроля кода. Она простая. Она просто контролирует версии кода (Ветвление, Создание ветвей, Слияние). Самая последняя функция свн - хранилище. Не, в принципе вроде все просто, но не понятны такие аспекты, как: Quote (SanAV) Если я "опережу" его, доделав вывод объектов раньше него и, соответственно, "синхронизировавшись" с ним, увидит ли он изменения? Или же только после того, как сам доделает и решит обновить файлы на репозитории? Quote (SanAV) Что будет, если один программист работает над небольшой фичей (Категория Y), а второй программист над исправлением ошибок (Z). После работы, оказывается, что фича работает только на версии, которая была первой для первого программиста - без исправления некоторых ошибок, а с добавлением костылей фича не работает.
My Games: · [2D, TDS] Death Embrace.
|
|
| |
SanAV | Дата: Четверг, 01 Сентября 2011, 12:14 | Сообщение # 15 |
Alex Versus
Сейчас нет на сайте
| Quote (den94ka) Если хочешь, я расскажу, как им пользоваться. Да, было бы неплохо, ибо сабж темы позволяет. Хотя все понятно, но может кому-нибудь пригодится. Меня пока что интересует - написано, что во Free-аккаунте можно использовать только 1 проект. Один проект на всю жизнь аккаунт? Или в месяц? Или же вообще, одновременно?
My Games: · [2D, TDS] Death Embrace.
|
|
| |
noTformaT | Дата: Четверг, 01 Сентября 2011, 12:16 | Сообщение # 16 |
Ukrainian independent game developer
Сейчас нет на сайте
| Quote (SanAV) Если я "опережу" его, доделав вывод объектов раньше него и, соответственно, "синхронизировавшись" с ним, увидит ли он изменения? Или же только после того, как сам доделает и решит обновить файлы на репозитории? Как я понял тут оба программиста пишут один и тот же код? Как то странно. Каждый программист должен писать только свою часть кода, и в очень редких ситуациях, он должен использовать код другого программиста (лично я еще не видел чтобы кто то так работал, работал используя код другого программиста, когда сам код не написан).
@noTformaT
Сообщение отредактировал noTformaT - Четверг, 01 Сентября 2011, 12:18 |
|
| |
SanAV | Дата: Четверг, 01 Сентября 2011, 12:25 | Сообщение # 17 |
Alex Versus
Сейчас нет на сайте
| Quote (noTformaT) Как я понял тут оба программиста пишут один и тот же код? Как то странно. Каждый программист должен писать только свою часть кода, и в очень редких ситуациях, он должен использовать код другого программиста (лично я еще не видел чтобы кто то так работал, работал используя код другого программиста, когда сам код не написан). Ну да, в целом логично. Проблема тут проста - никто из никогда не работал в команде. Все время, что в геймдеве были по одному. Привыкли, как бы, рассчитывать только на себя, делать понятный себе код. Но вопследнее время было решено объединить усилия по программной части, организоваав команду. А опыта в деле - полнейший ноль, меньше, чем даже у этих приятелей. Хотя, может быть будет больше
My Games: · [2D, TDS] Death Embrace.
|
|
| |
den94ka | Дата: Четверг, 01 Сентября 2011, 12:25 | Сообщение # 18 |
постоянный участник
Сейчас нет на сайте
| Quote (SanAV) Да, было бы неплохо, ибо сабж темы позволяет. Хотя все понятно, но может кому-нибудь пригодится. Меня пока что интересует - написано, что во Free-аккаунте можно использовать только 1 проект. Один проект на всю жизнь аккаунт? Или в месяц? Или же вообще, одновременно? Если ты про agilezen, то, наверное, можно участвовать одновременно. (Если можно покинуть другой проект)
Чуть позже напишу статью по этому поводу:)
|
|
| |
froex | Дата: Четверг, 01 Сентября 2011, 19:13 | Сообщение # 19 |
Руководитель Froexilize team
Сейчас нет на сайте
| SanAV, skype: froexilize icq: 460095152 Работаю ведущим программистом. В подчинении 4 программиста. Желательно в скайп стучи - расскажу, что не понятно, поделюсь опытом немного.
Не превращайте форум в чат. Пишите более развернуто и понятно - всё равно вас попросят объяснить подробнее. Алгоритмы, программирование, оптимизация, тестирование, ведение проектов. Ищу художника, дизайнера, тестера, программистов С и С++ Обучаю процессам разработки и программированию.
|
|
| |
den94ka | Дата: Четверг, 01 Сентября 2011, 20:03 | Сообщение # 20 |
постоянный участник
Сейчас нет на сайте
| Quote (froex) SanAV, skype: froexilize icq: 460095152 Работаю ведущим программистом. В подчинении 4 программиста. Желательно в скайп стучи - расскажу, что не понятно, поделюсь опытом немного. Мне кажется, что вкратце можно было бы и здесь написать
|
|
| |
|