Организация работы
От: Sandman  
Дата: 01.12.02 11:58
Оценка:
Приветствую, многоуважаемые ВСЕ!

Возник вопрос: как правильно организовать работу небольшой (4-5 человек) группы программистов.Имеюся ввиду следующие ...
1.Как организовать параллельное документирование
2.Как обеспечить регистрацию изменений кода и архивирование
Есть ли какие-то опубликованные наработки на эту тему? Если подскажите, буду очень благодарен.

04.04.05 22:55: Перенесено модератором из 'Архитектура программного обеспечения' — IT
Re: Организация работы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 01.12.02 12:11
Оценка:
Здравствуйте, Sandman, Вы писали:

S>Приветствую, многоуважаемые ВСЕ!


S>Возник вопрос: как правильно организовать работу небольшой (4-5 человек) группы программистов.Имеюся ввиду следующие ...

S>1.Как организовать параллельное документирование

В группе из 4-5 человек лучше если этим будет заниматься кто то один. Для документирования кода пользоваться автогенерируемой документацией

S>2.Как обеспечить регистрацию изменений кода и архивирование


CVS, VSS и т.п.
... << RSDN@Home 1.0 alpha 15 (np: тихо) >>
AVK Blog
Re[2]: Организация работы
От: Sandman  
Дата: 02.12.02 21:55
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Здравствуйте, Sandman, Вы писали:

S>>2.Как обеспечить регистрацию изменений кода и архивирование
AVK>CVS, VSS и т.п.

VSS — Visual Source Safe, наверное
а вот что такое CVS?

Заранее спасибо
Re[3]: Организация работы
От: bkat  
Дата: 02.12.02 22:43
Оценка:
Здравствуйте, Sandman, Вы писали:

S>а вот что такое CVS?


S>Заранее спасибо

Глянь здесь.
Там же можешь скачать последнюю версию и поиграться с ней.
Re[3]: Организация работы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.12.02 06:47
Оценка: 1 (1)
Здравствуйте, Sandman, Вы писали:

S>VSS — Visual Source Safe, наверное


Да

S>а вот что такое CVS?


Concurrent Versions System. Примерно то же что и VSS, но если первый основан на блокировках, то CVS позволяет параллельно редактировать один файл с автоматическим или, при необходимости, ручным мержем.
... << RSDN@Home 1.0 beta 1 (developer build)>>
AVK Blog
Re[4]: Организация работы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.12.02 06:50
Оценка: 8 (2)
Здравствуйте, bkat, Вы писали:

B>Глянь здесь.

B>Там же можешь скачать последнюю версию и поиграться с ней.

Ну ты посоветовал Что то мне говорит что у человека на машине Винды.

Сервер для NT
http://www.cvsnt.com/

Клиенты
http://www.wincvs.org — довольно мощная штука, но интерфейс, ИМХО, неудобный
http://www.tortoisecvs.org — встраивается в эксплорер. Интерфейс удобный, но некоторые вещи не поддерживает, например удаление из CVS. Поэтому приходится держать в комплекте первый.
... << RSDN@Home 1.0 beta 1 (developer build)>>
AVK Blog
Re[4]: Организация работы
От: onyXMaster Россия  
Дата: 03.12.02 11:31
Оценка: +1
Здравствуйте, AndrewVK, Вы писали:

/skipped/
S>>а вот что такое CVS?

AVK>Concurrent Versions System. Примерно то же что и VSS, но если первый основан на блокировках, то CVS позволяет параллельно редактировать один файл с автоматическим или, при необходимости, ручным мержем.


В бессчетный раз натыкаюсь на ложное представление о том, что в VSS есть только exclusive checkouts. В VSS можно делать все то же самое, достаточно пометить в VSS Admin галочку "Allow multiple checkouts" для соответсвтующей базы.
-- onyXMaster
Re[5]: Организация работы
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.12.02 18:53
Оценка:
XM>В бессчетный раз натыкаюсь на ложное представление о том, что в VSS есть только exclusive checkouts. В VSS можно делать все то же самое, достаточно пометить в VSS Admin галочку "Allow multiple checkouts" для соответсвтующей базы.
Не советую.
Пробовали мы жтого зверя.
Дело в том, что VSS работает очень хитро, и при мердже использует три файла: "исходный", и две правки. В связи с этим возникают офигенные проблемы, если кто-то изменит файл, не сделав checkout. Потом приходится все делать вручную. А такая ситуация возникает довольно регулярно, поскольку иначе работа требует непрерывного наличия подключенного VSS-сервера.
CVS объединяет два файла. (как и StarTeam, например). И ручной работы требуется, как правило, очень немного. Конечно, интерфейс у него весьма убог (хотя VSS не многим лучше. Единственное его достоинство — отсутствие необходимости пользоваться им, если работаешь в MSVS), но возможности работы получше. Ну, и файл-серверная архитектура VSS тоже дает о себе знать.
Вообще, конечно, если уж есть серьезная работа, то надо ставить коммерческие решения. Например, тот же стартим. У него и функционал весьма на высоте, и интерфейс отличный, и архитектура правильная, и интеграция с MS/Inprise/... Только вот денег он зараза стоит, денег...
Пользуюсь RSDN@Home 1.0 beta 1, слушая тишину
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[5]: Организация работы
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.12.02 18:58
Оценка:
AVK>http://www.tortoisecvs.org — встраивается в эксплорер. Интерфейс удобный, но некоторые вещи не поддерживает, например удаление из CVS. Поэтому приходится держать в комплекте первый.
Как это не поддерживает? А разве CVS>Remove не это делает?
Пользуюсь RSDN@Home 1.0 beta 1, слушая тишину
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[6]: Организация работы
От: orangy Россия
Дата: 03.12.02 19:07
Оценка: 24 (1)
Здравствуйте, Sinclair, Вы писали:


XM>>В бессчетный раз натыкаюсь на ложное представление о том, что в VSS есть только exclusive checkouts. В VSS можно делать все то же самое, достаточно пометить в VSS Admin галочку "Allow multiple checkouts" для соответсвтующей базы.

S>Не советую.
И я не советую

S>CVS объединяет два файла. (как и StarTeam, например). И ручной работы требуется, как правило, очень немного. Конечно, интерфейс у него весьма убог (хотя VSS не многим лучше. Единственное его достоинство — отсутствие необходимости пользоваться им, если работаешь в MSVS), но возможности работы получше. Ну, и файл-серверная архитектура VSS тоже дает о себе знать.


Есть интеграция и для CVS. К тому же я тут простенький плагинчик к фару наваял — так вообще конфетка с CVSом работать Пока не допишу до приличного вида — не дам! :-P А сорцов и вообще дать не смогу, но это уже дело десятое...

S>Вообще, конечно, если уж есть серьезная работа, то надо ставить коммерческие решения. Например, тот же стартим. У него и функционал весьма на высоте, и интерфейс отличный, и архитектура правильная, и интеграция с MS/Inprise/... Только вот денег он зараза стоит, денег...

Стартим — штука подлая. Особенно в интеграции с MSVC. Не раз уже тексты портило и затирало. CVS понадёжнее будет, да и подешевле. CVS просто настроить нужно правильно, тогда и проблем не будет. А для этого нужно читать cederqvist (мануал по нему). Внимтельно, раз на 5 Можно настроить чтобы требовал exclusive checkout, можно watchers/editors использовать, нотификации всевозможные и т.п. Главное — в проекте исповедовать до степени молитвы следующие правила:
— прежде чем коммитать — апдейтся
— сапдейтился — скомпиляйся
— если не компиляется — фиксай, чтобы хотя бы компилялось, пусть даже не работает
— коммитай!

Последний пункт для неленивых звучит несколько иначе и развернутее
— сделай диффы на то, что изменено
— если какой-то файл не изменился, просто timestamp поменялся — сделай на нём update -C (get clean copy)
— для остальных коммитай с соответствующими комментариями (поменял то-то и то-то)

ЗЫ: Для справки — в этом смысле (и только в этом) я — НЕ ЛЕНИВЫЙ!
... << RSDN@Home 1.0 beta 1 >>
"Develop with pleasure!"
Re[6]: Организация работы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.12.02 20:06
Оценка:
Здравствуйте, Sinclair, Вы писали:

S>CVS объединяет два файла. (как и StarTeam, например). И ручной работы требуется, как правило, очень немного. Конечно, интерфейс у него весьма убог


Не, тортилка мне нравится, хотя многого и не умеет.

S>Ну, и файл-серверная архитектура VSS тоже дает о себе знать.


Вот это самое неприятное. На сегодняшний день это уже моветон.

S>Вообще, конечно, если уж есть серьезная работа, то надо ставить коммерческие решения. Например, тот же стартим. У него и функционал весьма на высоте, и интерфейс отличный, и архитектура правильная, и интеграция с MS/Inprise/... Только вот денег он зараза стоит, денег...


Ну в России любой софт стоит два с полтиной бакса.
... << RSDN@Home 1.0 beta 1 (np: тихо) >>
AVK Blog
Re[7]: Организация работы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.12.02 20:12
Оценка:
Здравствуйте, orangy, Вы писали:

O>Есть интеграция и для CVS.


Есть для дотнета либа CVSная

O>Пока не допишу до приличного вида — не дам! :-P А сорцов и вообще дать не смогу, но это уже дело десятое...


Тю, сырков для rsdn пожалел

O>Стартим — штука подлая. Особенно в интеграции с MSVC. Не раз уже тексты портило и затирало. CVS понадёжнее будет, да и подешевле. CVS просто настроить нужно правильно, тогда и проблем не будет.


Я тут, вдохновленный успехами с янусом, попытался у себя локально настроить. Часа три точно с ним бился, на pserver так и не настроил, на ntserver вроде заработал.

O>А для этого нужно читать cederqvist (мануал по нему). Внимтельно, раз на 5 Можно настроить чтобы требовал exclusive checkout, можно watchers/editors использовать, нотификации всевозможные и т.п.


Может статейку напишешь?

O>Главное — в проекте исповедовать до степени молитвы следующие правила:

O>- прежде чем коммитать — апдейтся

А чем грозит обратное? Вроде бы только сругнется.

O>- сапдейтился — скомпиляйся


А это к чему?

O>- если не компиляется — фиксай, чтобы хотя бы компилялось, пусть даже не работает


Гы

O>- коммитай!


Это самый главный пункт.

O>Последний пункт для неленивых звучит несколько иначе и развернутее

O>- сделай диффы на то, что изменено

Я ленивый, поэтому дифы смотрю избирательно, не все.
... << RSDN@Home 1.0 beta 1 (np: тихо) >>
AVK Blog
Re[6]: Организация работы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.12.02 20:12
Оценка:
Здравствуйте, Sinclair, Вы писали:

AVK>>http://www.tortoisecvs.org — встраивается в эксплорер. Интерфейс удобный, но некоторые вещи не поддерживает, например удаление из CVS. Поэтому приходится держать в комплекте первый.

S>Как это не поддерживает? А разве CVS>Remove не это делает?

Еще хлеще — в консоли команды набивать. Я уж лучше WinCVS стартану, он почти все фичи поддерживает.
... << RSDN@Home 1.0 beta 1 (np: тихо) >>
AVK Blog
Re[8]: Организация работы
От: orangy Россия
Дата: 03.12.02 20:23
Оценка:
Здравствуйте, AndrewVK, Вы писали:


O>>Пока не допишу до приличного вида — не дам! :-P А сорцов и вообще дать не смогу, но это уже дело десятое...

AVK>Тю, сырков для rsdn пожалел
Сорри, бро. Там часть сырков — коммерческая. Может когда-нибудь, когда все забудут

AVK>Я тут, вдохновленный успехами с янусом, попытался у себя локально настроить. Часа три точно с ним бился, на pserver так и не настроил, на ntserver вроде заработал.

На pserver вообще самое простое, имхо, я тут бился на доменную авторизацию (sspi) запинать.

AVK>Может статейку напишешь?

Думал уже об этом, да только со временем туго и слог у меня так себе Кроме того, делать что-либо кроме перевода cederqvist скорее всего бессмысленно.

O>>Главное — в проекте исповедовать до степени молитвы следующие правила:

O>>- прежде чем коммитать — апдейтся
AVK>А чем грозит обратное? Вроде бы только сругнется.
Хех, может и не сругнуться, смёрджить всё, а потом такая фигня получится... Правильность merge проверяется собссно на следующем шаге.

O>>- сапдейтился — скомпиляйся

AVK>А это к чему?
См. выше

O>>- если не компиляется — фиксай, чтобы хотя бы компилялось, пусть даже не работает

AVK>Гы
Вот те и гы. Главное правило любого репозитория — там должна лежать компиляющаяся версия. Ну разве что у тебя бранч приватный.

O>>- коммитай!

AVK>Это самый главный пункт.
Главное — написать код правильно Чтобы было чего коммитать...
... << RSDN@Home 1.0 beta 1 | слушаю Rammstein — [KLAVIER]>>
"Develop with pleasure!"
Re[9]: Организация работы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.12.02 20:37
Оценка:
Здравствуйте, orangy, Вы писали:

O>Сорри, бро. Там часть сырков — коммерческая. Может когда-нибудь, когда все забудут


Чего ж там такого жутко ценного?

O>На pserver вообще самое простое, имхо, я тут бился на доменную авторизацию (sspi) запинать.


Простое, когда на той же машине прокси на тех же портах не висит.

AVK>>Может статейку напишешь?

O>Думал уже об этом, да только со временем туго

А у кого с ним не туго. Выходные есть, пары выходных на статью хватает.

O>и слог у меня так себе


Поправим, мы все тут не поэты.

O>Кроме того, делать что-либо кроме перевода cederqvist скорее всего бессмысленно.


Ужель там все так круто? А мне кажется надо все же статейку обзорную, хотя бы чтобы объяснить народу что это такой. А то большинство нынешних кул программеров не знают не только про CVS, но и вобще про сурс контрол.

AVK>>А чем грозит обратное? Вроде бы только сругнется.

O>Хех, может и не сругнуться, смёрджить всё, а потом такая фигня получится...

То есть как это смержить? У меня даже не пытался, просто орал up-to-date check failed и на этом все заканчивалось.

O>Правильность merge проверяется собссно на следующем шаге.


Дык не мержит он ничего при коммите. Может это в старых версиях было или настройка какая?

O>>>- коммитай!

AVK>>Это самый главный пункт.
O>Главное — написать код правильно Чтобы было чего коммитать...

... << RSDN@Home 1.0 beta 1 (np: тихо) >>
AVK Blog
Re[10]: Организация работы
От: orangy Россия
Дата: 03.12.02 20:57
Оценка:
Здравствуйте, AndrewVK, Вы писали:

O>>Сорри, бро. Там часть сырков — коммерческая. Может когда-нибудь, когда все забудут

AVK>Чего ж там такого жутко ценного?
Проехали. Будет день и будет пища.

O>>На pserver вообще самое простое, имхо, я тут бился на доменную авторизацию (sspi) запинать.

AVK>Простое, когда на той же машине прокси на тех же портах не висит.
Порты там вроде нормально настраиваются... Но я не пытался, врать не буду.

AVK>>>Может статейку напишешь?

O>>Думал уже об этом, да только со временем туго
AVK>А у кого с ним не туго. Выходные есть, пары выходных на статью хватает.
Я не умею так Мне надо обстоятельно. Да и выходные у меня == рабочие дни.


O>>Кроме того, делать что-либо кроме перевода cederqvist скорее всего бессмысленно.

AVK>Ужель там все так круто? А мне кажется надо все же статейку обзорную, хотя бы чтобы объяснить народу что это такой. А то большинство нынешних кул программеров не знают не только про CVS, но и вобще про сурс контрол.
А, ну так с этого и надо начинать. Тогда надо определяться, про что писать. Могу и про управление проектами вообще и про Configuration & Change Management в частности.

AVK>>>А чем грозит обратное? Вроде бы только сругнется.

O>>Хех, может и не сругнуться, смёрджить всё, а потом такая фигня получится...
AVK>То есть как это смержить? У меня даже не пытался, просто орал up-to-date check failed и на этом все заканчивалось.
В том-то всё и дело. Смотри, что получается:
Пусть у тебя на серве лежит версия 1.0
Ты ее тянешь себе и начинаешь менят. Вася Пупкин тоже тянет её себе и начинает тоже менять, в другом месте.
Всё замечательно до тех пор, пока кто-то из вас не сделает commit. Предположим Вася был вперед. У него проблем нет — у него локально (в файле CVS\Entries) написано, что менял он версию 1.0 и его diff-ы просто заливаются на сервер. Там теперь версия 1.1
Теперь пытаешься коммитать ты. Что приосходит? На сервере версия 1.1, а у тебя изменения к версии 1.0. Вот тут-то и начинается merge.
Твои изменения к версии 1.0 CVS пытается применить к версии 1.1 На самом деле всё несколько сложнее, но это не суть важно.
То же самое происходит и при update (ты пытаешься вытащить 1.1 когда у тебя измененная 1.0), только у тебя локально.
При возникновении конфликта (confilct == "изменения слишком близко друг к другу", настраивается) локально орёт что конфликт и предлагает сделать merge вручную. При конфликте на серве просто посылает тебя этой фразой ("up-to-date check failed "), тем самым предлагая тебе сначала стать up-to-date а уж потом коммитать.
... << RSDN@Home 1.0 beta 1 | слушаю Limp Bizkit — Rolling(Air raid vehicle)>>
"Develop with pleasure!"
Re[11]: Организация работы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.12.02 21:13
Оценка:
Здравствуйте, orangy, Вы писали:

AVK>>Простое, когда на той же машине прокси на тех же портах не висит.

O>Порты там вроде нормально настраиваются... Но я не пытался, врать не буду.

Да элементарно, на самом видном месте. Только не работает почему то.

AVK>>А у кого с ним не туго. Выходные есть, пары выходных на статью хватает.

O>Я не умею так Мне надо обстоятельно. Да и выходные у меня == рабочие дни.

Несчастный. Бросай ты это дело, всех денег все равно не заработаешь.

AVK>>То есть как это смержить? У меня даже не пытался, просто орал up-to-date check failed и на этом все заканчивалось.

O>В том-то всё и дело. Смотри, что получается:
O>Пусть у тебя на серве лежит версия 1.0
O>Ты ее тянешь себе и начинаешь менят. Вася Пупкин тоже тянет её себе и начинает тоже менять, в другом месте.
O>Всё замечательно до тех пор, пока кто-то из вас не сделает commit. Предположим Вася был вперед. У него проблем нет — у него локально (в файле CVS\Entries) написано, что менял он версию 1.0 и его diff-ы просто заливаются на сервер. Там теперь версия 1.1
O>Теперь пытаешься коммитать ты. Что приосходит? На сервере версия 1.1, а у тебя изменения к версии 1.0. Вот тут-то и начинается merge.

Нифига. Тут он как раз и орет up-to-date check failed, дескать на сервере версия свежее той которую я правил. А мержить он начнет только когда я апдейт делать начну.

O>Твои изменения к версии 1.0 CVS пытается применить к версии 1.1 На самом деле всё несколько сложнее, но это не суть важно.


Будет, но не при коммите а при апдейте.

O>При возникновении конфликта (confilct == "изменения слишком близко друг к другу", настраивается) локально орёт что конфликт и предлагает сделать merge вручную.


Да. И файл поганит.

O> При конфликте на серве просто посылает тебя этой фразой ("up-to-date check failed "), тем самым предлагая тебе сначала стать up-to-date а уж потом коммитать.


Не знаю. Орет всегда. При последующем апдейте он после этого клеит без конфликтов. Наверное все же поменяли в более свежих версиях и он теперь при коммите не мержит.
Да, я про cvsnt
... << RSDN@Home 1.0 beta 1 (np: тихо) >>
AVK Blog
Re[7]: Организация работы
От: Sinclair Россия https://github.com/evilguest/
Дата: 03.12.02 21:31
Оценка:
Здравствуйте, AndrewVK, Вы писали:

S>>Как это не поддерживает? А разве CVS>Remove не это делает?


AVK>Еще хлеще — в консоли команды набивать. Я уж лучше WinCVS стартану, он почти все фичи поддерживает.

Нет, я имел в виду контекстную меню. тортила встраивает подменю CVS, и в нем есть Remove
Пользуюсь RSDN@Home 1.0 beta 1, слушая Ltr01
Уйдемте отсюда, Румата! У вас слишком богатые погреба.
Re[8]: Организация работы
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 03.12.02 21:34
Оценка:
Здравствуйте, Sinclair, Вы писали:

AVK>>Еще хлеще — в консоли команды набивать. Я уж лучше WinCVS стартану, он почти все фичи поддерживает.

S>Нет, я имел в виду контекстную меню. тортила встраивает подменю CVS, и в нем есть Remove

Так это когда физически файл есть. А я когда в студии файл из проекта удаляю она и с дика его трет. А WinCVS такое видит и спокойно фантом ремувит.
... << RSDN@Home 1.0 beta 1 (np: тихо) >>
AVK Blog
Re[12]: Организация работы
От: orangy Россия
Дата: 03.12.02 23:29
Оценка:
Здравствуйте, AndrewVK, Вы писали:

AVK>Нифига. Тут он как раз и орет up-to-date check failed, дескать на сервере версия свежее той которую я правил. А мержить он начнет только когда я апдейт делать начну.

Да, тут ты прав, напутал я малость:

cvs commit: Up-to-date check failed for ‘file’
This means that someone else has committed a change to that file since the last
time that you did a cvs update. So before proceeding with your cvs commit
you need to cvs update. cvs will merge the changes that you made and the
changes that the other person made. If it does not detect any conflicts it will
report ‘M file’ and you are ready to cvs commit. If it detects conflicts it will print
a message saying so, will report ‘C file’, and you need to manually resolve the
conflict.


O>>При возникновении конфликта (confilct == "изменения слишком близко друг к другу", настраивается) локально орёт что конфликт и предлагает сделать merge вручную.

AVK>Да. И файл поганит.
Не поганит А показывает, где конкретно и какой конфликт. Ищешь "<<<" и смотришь — что в одной версии, что в другой, и совмещаешь.

AVK>Да, я про cvsnt

Аналогично.
... << RSDN@Home 1.0 beta 1 | слушаю Limp Bizkit — Rolling(Air raid vehicle)>>
"Develop with pleasure!"
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.