Переключение на Главную Страницу Страницы: [1]  ОтправитьПечать
Очень популярная тема (более 25 ответов) 1CPP: разработчикам - о схеме работы (число прочтений - 13783 )
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
1CPP: разработчикам - о схеме работы
05. Марта 2008 :: 08:59
Печать  
Если бы Вы сейчас собрались организовать работу с кодом грамотно (на основании Вашего опыта в создании 1cpp и других разработок).
Каким образом вы бы эту работу строили?

Было бы разделение кода по зонам ответственности (принципы владения кодом). Если да, то каким образом?
Какова была бы методика принятия заявок и внесения коммитов?
Методика принятия решений в спорных вопросах?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #1 - 05. Марта 2008 :: 11:20
Печать  
Если речь об организации работы с кодом открытого проекта, то:

1. Да, было бы разделение зон ответственности. И это касается не только кода. Документация, администрирование форума и сайта, администрирование багтрекера, тестирование - проект состоит не только из одного написания кода. Наверное даже написание кода составляет меньшую часть проекта.

2. Организовано бы это было путем публикации списка зон ответственности и ответственных за них участников проекта. Постоянная поддержка данного списка в актуальном состоянии - это тоже зона ответственности кого-то из участников. Список составляется на основании добровольно взятых на себя обязательств. Участники проекта сознательно и добровольно соглашаются не вмешиваться в чужие зоны ответственности даже при наличии технической возможности для такого вмешательства.

3. Методика принятия заявок и внесения коммитов - это по большому счету личное дело ответственного за участок работы. Как лично ему удобно - так пусть и принимает заявки и вносит коммиты. Более того, данные методики будут сильно зависеть от того ПО, которое используется в проекте для учета заявок и для контроля над версиями.
При работе с CVS и с багзиллой лично мне очень нравится технология работы, принятая в команде Багзиллы (почитать подробнее можно тут: http://www.1cpp.ru/forum/YaBB.pl?num=1204133873).

4. Политика принятия решений по спорным вопросам - это более субъективное понятие. Есть как минимум два варианта, которые мне кажутся допустимыми.
а) В проекте должен быть человек, за которым всегда остается последнее слово.
б) Принимаются ЛЮБЫЕ разумные предложения до тех пор, пока принимаемые предложения не начинают противоречить друг другу. В такой ситуации не принимается никакого решения до тех пор, пока спорящие стороны не договорятся о единстве мнения, или пока одной из сторон не надоест спорить.
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #2 - 05. Марта 2008 :: 19:33
Печать  
fez писал(а) 05. Марта 2008 :: 11:20:
Если речь об организации работы с кодом открытого проекта, то:

Скажи-ка, Федор, а организация командной работы над коммерческим проектом чем отличается от описанной схемы?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #3 - 06. Марта 2008 :: 07:56
Печать  
Коммерческие проекты тоже бывают разные.
Бывает работа в офисе на одну компанию, а бывает разработка тиражного продукта.

Работа в офисе на одну компанию гораздо проще в плане организации. Все толпой коммитят, в случае чего подошел и пообщался лично.
А с работой над тиражным продуктом я не сталкивался, так что ничего не скажу. Тут лучше седмина пытать. Хотя я не знаю, насколько у него там коллективно идет работа.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #4 - 06. Марта 2008 :: 07:58
Печать  
В любом случае коммерческий проект изначально работает на другой мотивации. И там другой способ получения ответственности. И там как правило легче общение, ибо все в одном часовом поясе и любому можно как минимум позвонить по телефону.
  
Наверх
www  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #5 - 06. Марта 2008 :: 08:04
Печать  
fez писал(а) 06. Марта 2008 :: 07:58:
В любом случае коммерческий проект изначально работает на другой мотивации. И там другой способ получения ответственности. И там как правило легче общение, ибо все в одном часовом поясе и любому можно как минимум позвонить по телефону.

Я тоже 5 лет назад так думал. Махнул рублем - и все само собой организовалось.
Сейчас, думаю, в условиях дефицита кадров, все сложнее.

Ты своих людей как удерживаешь, чтобы не свалили? Ладно, не отвечай, я догадываюсь.

P.S.
Начальника тюрьмы спрашивают:
- Почему у вас заключенные даже не предпринимают попыток к бегству?
- А я им каждый день читаю выдержки из утренних газет... Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #6 - 06. Марта 2008 :: 08:06
Печать  
Кстати, ты заметил, Федор, что эта тема из всей серии самая непопулярная?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #7 - 06. Марта 2008 :: 08:51
Печать  
kms писал(а) 06. Марта 2008 :: 08:06:
Кстати, ты заметил, Федор, что эта тема из всей серии самая непопулярная?

Для меня это было очевидным с самого начала.
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #8 - 06. Марта 2008 :: 09:23
Печать  
Я в целом давно согласен с Федором Печаль

fez писал(а) 05. Марта 2008 :: 11:20:
3. Методика принятия заявок и внесения коммитов - это по большому счету личное дело ответственного за участок работы. Как лично ему удобно - так пусть и принимает заявки и вносит коммиты. Более того, данные методики будут сильно зависеть от того ПО, которое используется в проекте для учета заявок и для контроля над версиями.
При работе с CVS и с багзиллой лично мне очень нравится технология работы, принятая в команде Багзиллы (почитать подробнее можно тут: http://www.1cpp.ru/forum/YaBB.pl?num=1204133873).

+1
Согласен 100%

fez писал(а) 05. Марта 2008 :: 11:20:
4. Политика принятия решений по спорным вопросам - это более субъективное понятие.
б) Принимаются ЛЮБЫЕ разумные предложения до тех пор, пока принимаемые предложения не начинают противоречить друг другу. В такой ситуации не принимается никакого решения до тех пор, пока спорящие стороны не договорятся о единстве мнения, или пока одной из сторон не надоест спорить.

+1
Согласен 100% по п.б)

fez писал(а) 05. Марта 2008 :: 11:20:
1. Да, было бы разделение зон ответственности.

2. Организовано бы это было путем публикации списка зон ответственности и ответственных за них участников проекта. Постоянная поддержка данного списка в актуальном состоянии - это тоже зона ответственности кого-то из участников. Список составляется на основании добровольно взятых на себя обязательств. Участники проекта сознательно и добровольно соглашаются не вмешиваться в чужие зоны ответственности даже при наличии технической возможности для такого вмешательства.

Это не всегда удобно/возможно/практично.
Один ответственный человек в открытом проекте не всегда может вести полную тех.поддержку на должном уровне, например, оперативно исправлять по запросам пользователей ошибки (новые или старые).
И в 1С++ мы уже видели подобное.
Это есть данность, и нам от нее никуда не деться Печаль
Мне больше нравится совместное владение открытым кодом всеми участниками на базе обязательного тестирования проекта. В этом случае можно гарантировать более полную и оперативную тех.поддержку проекта.
Т.е. нужно задекларировать, что
1. У каждой зоны ответственности есть свой ответственный разработчик 1.
2. При необходимости в случае невозможности участия разработчика 1 любой участник (или ниже) может править данные из его зоны ответственности.
Также можно принять разные схемы:
- создаем группу "соучастников" для каждой зоны ответственности, и только эти люди при необходимости могут что-то в ней править.
- правка возможна только с разрешения ответственного
- и т.п.
Простых схем для разрешения подобных "конфликтов" можно придумать много.
Т.е. я предлагаю совместить совместное владение кодом и ответственность за каждую зону.

ИМХО это идеальный вариант, если участники соблюдают соответствующие условия проекта.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #9 - 06. Марта 2008 :: 09:51
Печать  
fez писал(а) 06. Марта 2008 :: 08:51:
kms писал(а) 06. Марта 2008 :: 08:06:
Кстати, ты заметил, Федор, что эта тема из всей серии самая непопулярная?

Для меня это было очевидным с самого начала.

Потому что предмет сложен. Мало кто может чего сказать толком и правильно и не сесть в лужу.
Даже если и изучал менеджмент в институте, то практически применить/закрепить было негде...
  
Наверх
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #10 - 06. Марта 2008 :: 10:40
Печать  
artbear писал(а) 06. Марта 2008 :: 09:23:
Я в целом давно согласен с Федором Печаль

fez писал(а) 05. Марта 2008 :: 11:20:
б) Принимаются ЛЮБЫЕ разумные предложения до тех пор, пока принимаемые предложения не начинают противоречить друг другу. В такой ситуации не принимается никакого решения до тех пор, пока спорящие стороны не договорятся о единстве мнения, или пока одной из сторон не надоест спорить.

+1
Согласен 100% по п.б)


Вообще-то твои +100% к пункту б) - это не ко мне. Это в Linux'е так принято. При этом там Последнее Слово остается всегда за Линусом, но на практике он действует по вышеописанному принципу. Поскольку в условиях линукса и при наличии там такого лидера как Линуса Торвальдса - это работает - я и считаю такой принцип работы - допустимым. Но не факт, что 100% применимым к любой ситуации. Считаю, что для более простых проектов, типа 1С++ для упрощения и для ускорения в принятии решений вполне можно работать и по принципу а). Лично мне было бы так комфортнее.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #11 - 06. Марта 2008 :: 11:02
Печать  
artbear писал(а) 06. Марта 2008 :: 09:23:
fez писал(а) 05. Марта 2008 :: 11:20:
3. Методика принятия заявок и внесения коммитов - это по большому счету личное дело ответственного за участок работы. Как лично ему удобно - так пусть и принимает заявки и вносит коммиты. Более того, данные методики будут сильно зависеть от того ПО, которое используется в проекте для учета заявок и для контроля над версиями.
При работе с CVS и с багзиллой лично мне очень нравится технология работы, принятая в команде Багзиллы (почитать подробнее можно тут: http://www.1cpp.ru/forum/YaBB.pl?num=1204133873).

+1
Согласен 100%


Вот эта вот механика, как мне кажется, позволяет решить две существующие проблемы. Первую проблему описал ты сам чуть ниже, про оперативность внесения исправлений и дополнений. А вторая проблема - это основая претензия kms'а к тебе. Внесение некачественного кода и потеря контроля над кодом со стороны ответственного за этот код.


artbear писал(а) 06. Марта 2008 :: 09:23:
fez писал(а) 05. Марта 2008 :: 11:20:
1. Да, было бы разделение зон ответственности.
2. Организовано бы это было путем публикации списка зон ответственности и ответственных за них участников проекта. Постоянная поддержка данного списка в актуальном состоянии - это тоже зона ответственности кого-то из участников. Список составляется на основании добровольно взятых на себя обязательств. Участники проекта сознательно и добровольно соглашаются не вмешиваться в чужие зоны ответственности даже при наличии технической возможности для такого вмешательства.

Это не всегда удобно/возможно/практично.
Один ответственный человек в открытом проекте не всегда может вести полную тех.поддержку на должном уровне, например, оперативно исправлять по запросам пользователей ошибки (новые или старые).
И в 1С++ мы уже видели подобное.
Это есть данность, и нам от нее никуда не деться Печаль


Вот тут есть еще и другая данность. Любой разработчик хочет сохранить контроль над своим участком кода. Это на самом деле очень важно. И твой вариант никак эту проблему не может решить, он даже наоборот, ее усугубляет.

artbear писал(а) 06. Марта 2008 :: 09:23:
Мне больше нравится совместное владение открытым кодом всеми участниками на базе обязательного тестирования проекта. В этом случае можно гарантировать более полную и оперативную тех.поддержку проекта.
Т.е. нужно задекларировать, что
1. У каждой зоны ответственности есть свой ответственный разработчик 1.
2. При необходимости в случае невозможности участия разработчика 1 любой участник (или ниже) может править данные из его зоны ответственности.
Также можно принять разные схемы:
- создаем группу "соучастников" для каждой зоны ответственности, и только эти люди при необходимости могут что-то в ней править.
- правка возможна только с разрешения ответственного
- и т.п.
Простых схем для разрешения подобных "конфликтов" можно придумать много.
Т.е. я предлагаю совместить совместное владение кодом и ответственность за каждую зону.

ИМХО это идеальный вариант, если участники соблюдают соответствующие условия проекта.


Совместное владение кодом хорошо работает в рамках XP. Когда применяется парное программирование. В любом случае совместного владения кодом без общения не получится. В рамках твоего предложения вот это самое общение вообще ничем не обеспечивается.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #12 - 06. Марта 2008 :: 11:04
Печать  
trdm писал(а) 06. Марта 2008 :: 09:51:
fez писал(а) 06. Марта 2008 :: 08:51:
kms писал(а) 06. Марта 2008 :: 08:06:
Кстати, ты заметил, Федор, что эта тема из всей серии самая непопулярная?

Для меня это было очевидным с самого начала.

Потому что предмет сложен. Мало кто может чего сказать толком и правильно и не сесть в лужу.
Даже если и изучал менеджмент в институте, то практически применить/закрепить было негде...


Именно. Дело даже не в сложности предмета, а именно в отсутствии практики у большинства тут присутствующих. Даже работа разработчиком в коллективном проекте редко может дать представление о проблемах, которые появляются у координатора.
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #13 - 06. Марта 2008 :: 11:06
Печать  
fez писал(а) 06. Марта 2008 :: 10:40:
Вообще-то твои +100% к пункту б) - это не ко мне. Это в Linux'е так принято.

Федор, мои 100% означает, что я лично согласен на 100% Улыбка и больше ничего.
По остальному почитаю и выскажусь.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #14 - 06. Марта 2008 :: 11:09
Печать  
fez писал(а) 06. Марта 2008 :: 11:02:
Любой разработчик хочет сохранить контроль над своим участком кода. Это на самом деле очень важно.

Совершенно не соглашусь Печаль Не любой, а только большинство Улыбка
Вот, например, в ХП-методиках пропагандируется совместное владение кодом Улыбка
Те же Спольски, Бек об этом не один раз писали, помнится.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #15 - 06. Марта 2008 :: 11:14
Печать  
artbear писал(а) 06. Марта 2008 :: 11:09:
fez писал(а) 06. Марта 2008 :: 11:02:
Любой разработчик хочет сохранить контроль над своим участком кода. Это на самом деле очень важно.

Совершенно не соглашусь Печаль Не любой, а только большинство Улыбка
Вот, например, в ХП-методиках пропагандируется совместное владение кодом Улыбка
Те же Спольски, Бек об этом не один раз писали, помнится.


Совместное владение кодом по технологии XP означает, что любой участник проекта контролирует код. Тот вариант совместного владения кодом, который сейчас принят в 1С++, и который до недавнего времени был принят в FuncTest означает, что существует код, который не контролирует никто.
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #16 - 06. Марта 2008 :: 11:27
Печать  
fez писал(а) 06. Марта 2008 :: 11:14:
Совместное владение кодом по технологии XP означает, что любой участник проекта контролирует код. Тот вариант совместного владения кодом, который сейчас принят в 1С++, и который до недавнего времени был принят в FuncTest означает, что существует код, который не контролирует никто.

А, знаешь, почему так есть?
ИМХО как раз из-за разговоров о принадлежности кода какому-то одному автору Печаль
Т.е. использовались одновременно оба подхода Печаль из-за того, что авторы не были готовы на оперативную тех.поддержку Печаль
Например, по Фанктесту я не менял/не дополнял принятую тобой схему наследования из-за твоего авторства.
Также в 1С++ пришлось лезть в "чужие" части кода из-за отсутствия поддержки от авторов Печаль

Предлагаемые мной варианты решения проблемы я написал выше. ИМХО нужно совмещать оба подхода, иначе никак Печаль

ЗЫ Насчет некомпетентности при внесении кода напомню, что лично я пришел в 1С++ после того, как мне надоело наблюдать за "хреновыми" сборками 1С++ от того же kms и АльФ-а Улыбка Именно для исключения подобных моментов в 1С++ мной было добавлено автоматическое тестирование.

Считаю это своей заслугой и горжусь этим вкладом Улыбка
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #17 - 06. Марта 2008 :: 11:33
Печать  
fez писал(а) 06. Марта 2008 :: 11:23:
Ну вот куда ты так торопишься, и отвлекаешь Артура от главного? Я уже практически во всем его убедил вот тут: http://www.1cpp.ru/forum/YaBB.pl?num=1204707584 а ты прием претензий уже закрыл. Давай, открывай обратно. Ща научим Артура делать cvs diff -u и все снова будет хорошо.

Федор, я ведь и так практически со всем с тобой давно согласен.
Пусть будут зоны ответственности и соответствующие ответственные, один или группа.

Я же хочу определить политику в проекте на случай, когда автор/ответственный по причинам, не относящимся к разработке и проекту, не может/не хочет выполнять тех.поддержку.
И лично я лез в чужой код в 1С++ только для решения проблем, которые автор не решал.

В общем, такова моя позиция.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #18 - 06. Марта 2008 :: 11:40
Печать  
А знаешь, почему авторы порой не готовы на оперативную техподдержку? Потому что им как правило надо потратить ОЧЕНЬ много времени для того, чтобы разгрести архив с предлагаемыми изменениями. Если присылать изменения в виде патчей, то это во-первых, уменьшит количество мусора, а во вторых сделает работу автора по приему тех или иных изменений более легкой и менее напряжной.

Если же автор хочет отказаться от поддержки своего кода - нормальный человек делает это публично. И в идеале - передает ответственность кому-то другому, который готов подхватить покачнувшееся знамя.

P.S. Твоих заслуг в области автоматического тестирования никто не умаляет. Но те проблемы уже в прошлом, благодаря твоим стараниям. Теперь нам нужна твоя помощь в том, чтобы решить новые проблемы. Поможешь?
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #19 - 06. Марта 2008 :: 11:45
Печать  
artbear писал(а) 06. Марта 2008 :: 11:33:
Я же хочу определить политику в проекте на случай, когда автор/ответственный по причинам, не относящимся к разработке и проекту, не может/не хочет выполнять тех.поддержку.

1. В предлагаемом мной варианте любой может предложить патч к коду. От автора требуется лишь одно: посмотреть в патч и либо скоммитить его, либо отклонить с определенными доводами. В случае отклонения автор патча идет дорабатывать патч по пожеланию автора.
То есть заинтересованный пользователь работает над нужным ему фунционалом, и при этом не сильно достает автора кода необходимостью постоянно отвлекаться на разбор многомегабайтных архивов.

2. Если автор кода не может выполнить даже такую простую функцию, как реакция на патч в разумное время - тут уже можно обсуждать смену ответственного за код, как мне кажется.
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #20 - 06. Марта 2008 :: 11:48
Печать  
1. Федор, ты же знаешь, я всегда готов помочь, участвовать и т.д. И проект я не брошу, есть еще задумки и предложения.
2. ИМХО часто бывает так, что автор просто не готов в течение некоторого времени осуществлять тех.поддержку Печаль Типа завалили работой, отпуск и т.д.
А ведь дело стоит, люди ждут Печаль
Я говорю именно об этом.
О регламенте/форме внесения готовых изменений/дополнений в проект от доп. участника к основному автору всегда можно договориться, лишь бы автор был готов достаточно оперативно внести изменение, а не откладывал исправление по "левым" причинам Печаль
Вот что меня больше напрягает.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #21 - 06. Марта 2008 :: 11:50
Печать  
fez писал(а) 06. Марта 2008 :: 11:45:
artbear писал(а) 06. Марта 2008 :: 11:33:
Я же хочу определить политику в проекте на случай, когда автор/ответственный по причинам, не относящимся к разработке и проекту, не может/не хочет выполнять тех.поддержку.

1. В предлагаемом мной варианте любой может предложить патч к коду. От автора требуется лишь одно: посмотреть в патч и либо скоммитить его, либо отклонить с определенными доводами. В случае отклонения автор патча идет дорабатывать патч по пожеланию автора.
То есть заинтересованный пользователь работает над нужным ему фунционалом, и при этом не сильно достает автора кода необходимостью постоянно отвлекаться на разбор многомегабайтных архивов.

2. Если автор кода не может выполнить даже такую простую функцию, как реакция на патч в разумное время - тут уже можно обсуждать смену ответственного за код, как мне кажется.

Согласен по обоим пунктам.

Думаю, что мы с тобой друг друга поняли Улыбка
Теперь осталось, чтобы остальные с нами согласились.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #22 - 06. Марта 2008 :: 19:00
Печать  
Федор, описанная тобой схема с патчами, конечно, красивая, но только мне не понятно, как она может заработать в условиях проекта 1CPP. Возможно, в Багзилле она работает потому, что проект достаточно большой и находится в активной стадии радвития.

Я был в ситуации принимающего такие патчи. И если человек хуже меня ориентируется в проекте, то таким способом можно добавить только какую-нибудь примитивную педальку. Попытка принять что-то более серьезное приводила к 2-4 итерациям, полсле которых было понятно, что проще сделать самому, чем объяснить человеку, как это следует сделать.

Ты, Федор, конечно принимал патчи, но согласись, что, например, от Михаила ты принимал их практически не глядя.

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

Вообщем, хрен его знает, как организовать эффективное взаимодействие разработчиков в распределенном проекте.  Улыбка У меня такое ощущение, что должна сформироваться команда разработчиков, которые доверяют друг другу. А разногласия между разработчиками регулирует координатор (от разработки) проекта.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #23 - 06. Марта 2008 :: 19:07
Печать  
fez

По сути - очень мне понятное мнение - в предыдущем посте.
Я тебе его, кстати, уже высказывал.
Но тем не менее, я обдумываю предложенную схему.

В идеале же я вижу работу все же несколько по-иному.
Я вижу команду, которая может договориться об общем курсе и способна этот курс выполнить.
Безусловно - с разделением зон ответственности и персональным владением кодом.
С командным решением общих вопросов.
Очень желателен в наличии один самый умный и опытный - он будет архитектором.
Над проектом с нормальной архитектурой гораздо легче работать, чем топтать хрюшин компот.
С архитектором в маленьком проекте - всегда проблема - где его взять.

Большая часть обратной связи с пользователями все же должна строиться на уровне идей/предложений.
Многие из которых будут отклоняться, к этому надо быть готовым.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
sedmin
1c++ developer
Отсутствует


I Hate Fat YaBB 2!

Сообщений: 862
Зарегистрирован: 24. Мая 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #24 - 06. Марта 2008 :: 21:17
Печать  
kms писал(а) 06. Марта 2008 :: 19:07:
Большая часть обратной связи с пользователями все же должна строиться на уровне идей/предложений.
Многие из которых будут отклоняться, к этому надо быть готовым.


Вот в том то и дело, что тогда получается "внутренний смех". (смотри "Чепаев и пустота").

Сильная сторона Артура как раз в том, что он не говорит "Это ИДЕАЛогически не верно" или "Мы подумаем на этим" или "У нас есть более важные вещи". А берет и реализует то, что просят пользователи. Хотя из этого следуют и отрицательные моменты.

Поэтому, архитектор должен думать о том как СДЕЛАТЬ то, что хотят пользователи или разработчики.
  
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #25 - 06. Марта 2008 :: 21:32
Печать  
Здесь я скорее соглашусь со Страуструпом.

Если будет время, можно заглянуть в книжку D&E (дизайн и эволюция)  С++.
Он очень подробно описывает, почему те или иные изменения были приняты и почему большая часть принята не была.

То же самое касается принятия решений тем же комитетом по стандартизации С++.

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

De quelle planète es-tu?
Наверх
 
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #26 - 06. Марта 2008 :: 21:37
Печать  
Впрочем, сейчас у меня есть исключительно благодарность пользователям 1cpp.
Здесь действительно отличный комьюнити, который объединяют некоторые общие идеи.

Я размышляю в несколько более общем плане, ибо в чуть большем проекте, в котором пользователи менее организованы, а идеи разрозненны, где разработчики сильнее отделены от пользователей, а сроки и бюджеты фиксированы, неизбежно нужна более упорядоченная схема.
  

De quelle planète es-tu?
Наверх
 
IP записан
 
noprogrammer
1c++ power user
Отсутствует


I Love YaBB 2!

Сообщений: 465
Зарегистрирован: 16. Июня 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #27 - 06. Марта 2008 :: 21:56
Печать  
kms писал(а) 06. Марта 2008 :: 19:07:
Большая часть обратной связи с пользователями все же должна строиться на уровне идей/предложений.
Многие из которых будут отклоняться, к этому надо быть готовым.


+1
  
Наверх
wwwICQ  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #28 - 07. Марта 2008 :: 04:06
Печать  
Содержимое данного сообщения было перенесено СЮДА.
  
Наверх
www  
IP записан
 
fez
Forum Administrator
1c++ power user
Отсутствует


I wanted to cry, but the
tears wouldn't come

Сообщений: 2712
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #29 - 07. Марта 2008 :: 05:37
Печать  
sedmin писал(а) 06. Марта 2008 :: 19:00:
Я был в ситуации принимающего такие патчи. И если человек хуже меня ориентируется в проекте, то таким способом можно добавить только какую-нибудь примитивную педальку. Попытка принять что-то более серьезное приводила к 2-4 итерациям, полсле которых было понятно, что проще сделать самому, чем объяснить человеку, как это следует сделать.

Согласен, но тут есть еще два момента.
1. В процессе объяснения ты создаешь себе еще одного разработчика в проекте.
2. Если человек не в состоянии за 4 итерации создать правильный патч, то это серьезная причина 20 раз подумать, прежде чем принимать от него какие-то патчи вообще.
Оба момента являются достаточно ценными для того, чтобы их игнорировать.

sedmin писал(а) 06. Марта 2008 :: 19:00:
Ты, Федор, конечно принимал патчи, но согласись, что, например, от Михаила ты принимал их практически не глядя.

Не припомню ни одного патча от Михаила, который бы мне прищлось принимать.
Вот от Лехи Диркса - принимал не глядя. Очень положительное ощущение осталось.
Однако были граждане, "неглядный" прием патчей от которых обернулся потом очень серьезным дискомфортом для меня.

sedmin писал(а) 06. Марта 2008 :: 19:00:
Тут дело в том, что даже если патч будет от человека одного с тобой уровня, то у тебя все равно будет свой взгляд на принимаемое решение. А если патч оказывается достаточно сложным, то проще оказывается сказать "ну нехай", чем полностью в нем разобраться, да еще и скорректировать то, что можно было бы поправить.

кмк, это зависит в первую очередь от настроя принимающего патчи. В любом случае, получив (вместо набора патчей) архив с "я вот тут тебе все полностью переработал, посмотри плиз", сказать "ну нехай" хочется гораздо быстрее.

sedmin писал(а) 06. Марта 2008 :: 19:00:
А если в патч попадает рефакторинг, то тут вообще - дело труба.  Улыбка

А не надо мешать все в кучу. Один баг - один патч. Чем меньше шаг - тем проще и понятнее патч. На рефакторинг стоит заводить отдельный баг.

sedmin писал(а) 06. Марта 2008 :: 19:00:
У меня такое ощущение, что должна сформироваться команда разработчиков, которые доверяют друг другу.

"должна сформироваться"... Никому она ничего не должна. Это задача координатора сделать так, чтобы он доверял разработчикам, а разработчики доверяли координатору и друг другу. И система приемки патчей - это как раз тот механизм, который может помочь всем участникам процесса выяснить: кому стоит доверять, а кому нет.
  
Наверх
www  
IP записан
 
artbear
1c++ developer
1c++ moderator
Отсутствует


Эх, дайте что-нибудь новенькое
да полезное потести

Сообщений: 6303
Местоположение: Москва
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #30 - 07. Марта 2008 :: 06:02
Печать  
fez писал(а) 07. Марта 2008 :: 05:37:
Однако были граждане, "неглядный" прием патчей от которых обернулся потом очень серьезным дискомфортом для меня.

кмк, это зависит в первую очередь от настроя принимающего патчи. В любом случае, получив (вместо набора патчей) архив с "я вот тут тебе все полностью переработал, посмотри плиз", сказать "ну нехай" хочется гораздо быстрее.

Если ты про меня и мои последние дополнения к Фанктесту, то, извини, ты сам виноват - я тебе предлагал закинуть закинуть архив с объединением твоих правок и моих правок вместо моего первоначального, неверного архива, в котором не было твоих последних правок.
Тут мне себя не в чем винить.
Больше я за собой проблем по патчам не помню.
Кстати, о Фанктесте - твое закрытие прямого доступа к нему просто повлекло следующее: я начал вести просто параллельную разработку, стараясь больше не обращать внимания на твой код.
  

OpenConf developer :: http://openconf.1cpp.ru&&FormEx developer :: http://formex.dorex.ru&&1C++ active developer && tester :: www.1cpp.ru
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #31 - 10. Марта 2008 :: 13:18
Печать  
В с++ ничего не понимаю, но на 1с Коллективной разработкой уже долго занимаюсь. Владение кода присутствует, определенные задачи руководитель Старается отдавать на реализацию одному человеку.
Но случается, и не редко, как и говорит Артур, что этот человек выполняет другую не менее важную задачу. В таких случаях легко задача отдается другому.
Согласно негласному правилу правки стараемся делать минимальными и выделяемыми, по возможности, конечно. При соблюдении единых правил оформления кода проблем не возникает.
Кстати, такие правила во многих же проектах есть свои, часто отличные от стандартных для языка, но единые для всего проекта.

Со стороны глядя, кажется, что каждый хочет по своему код переформатировать и любоваться... Это уже не коллективная разработка, а комплект разных компонент... Может покажется, что не в свое дело лезу, но это ИМХО, опять же "со стороны".
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #32 - 10. Марта 2008 :: 14:46
Печать  
alest

В любом сложном проекте в основе лежит не код, а дизайн.
Хороший дизайн - легко развивать, поддерживать, и реструктуризировать; плохой дизайн - сложно.

Чтобы разработчик начал создавать хороший дизайн, он должен пройти определенный путь.
Чтобы команда начала работать в едином архитектурном стиле, нужно... много, чего нужно.
Это серьезные затраты либо на подготовку команды, либо на архитектора, либо на документирование разработки.

Итак, как в вашем случае вы добиваетесь единого дизайна решений?
  

De quelle planète es-tu?
Наверх
 
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #33 - 10. Марта 2008 :: 15:56
Печать  
По дизайну, как правило, решение принимает руководитель. От разработчика требуется более детально продумать тему и высказать замечания, если таковые возникают. Иногда идет в обратном направлении: разработчику заявляется тема, он предлагает решение- руководитель говорит согласен/нет,  отправляет обратно на обдумывание разработчику, либо у руководителя созрело решение на основе предложенного. Т.е. руководитель и есть у нас архитектор... Подчеркну лишь, что в стиль написания (делать через Массив или СписокЗначений) никто не вмешивался... Требование одно- читаемый рабочий код.

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

Да, и документированию серьезное внимание уделялось, сейчас со сменой руководителя меньше, правда. Пока последствий не ощущаем- еще мало времени прошло, к тому же все документировано в cvs/хранилище и RT.
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #34 - 11. Марта 2008 :: 09:03
Печать  
Не, ну, для 1С это нормально, там действительно договориться и спроектировать легче.
Тем более, если такая организационная схема устраивает команду.

С С++ чуть сложнее.

Сначала ты берешь книжку Буча и понимаешь, что пишет он отнюдь не прозрачно.
Потом ты открываешь банду четырех - и оказывается, что чем дальше, тем сложнее тебе проектируется (смотри соседнюю тему про UML и пост trdm).
Далее ты добираешся до Страуструпа и осознаешь, что несмотря на вполне кудрявый (а потом и лысый Улыбка) вид, учиться по его первоисточникам нереально.
ОК. Худо-бедно ты доползаешь до STL и вникаешь в идеи Степанова. Мир ООП колышет ветром, как осиновый куст и ты ОЧЕНЬ сильно жалеешь, что в свое время выпил столько пива вместо посещения лекций по математике.
И наконец, тебя приносят к книжкам Саттера/Александреску и это окончательно подрывает твою веру в возможность освоить безошибочный С++ "за 21 день".

И лишь годы тренировок, рекреационной медицины и правильного портвейна в итоге поставят все на место.
Кроме шуток. Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
alest
Senior Member
****
Отсутствует



Сообщений: 380
Местоположение: Гродно, Беларусь
Зарегистрирован: 22. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #35 - 11. Марта 2008 :: 09:16
Печать  
Может быть вы слишком много внимания уделяете красоте кода? Все-таки Некрасивый код и хороший дизайн не исключают друг друга, не так ли? Неужели так трудно договориться по архитектуре?

ЗЫ
Да, терпимости людям и в программировании не хватаетПодмигивание
  
Наверх
ICQ  
IP записан
 
kms
1c++ power user
1c++ moderator
Отсутствует


я хочу, чтоб сюда проложили
дорогу оттуда...

Сообщений: 4632
Зарегистрирован: 19. Мая 2006
Re: 1CPP: разработчикам - о схеме работы
Ответ #36 - 11. Марта 2008 :: 09:23
Печать  
Конечно, мы договоримся.

Я просто клоню к тому, что даже серьезный подход к изучению предметной области не дает немедленного результата.
Поэтому прежде, чем команда начинает работать в едином стиле, проходит приличный отрезок времени.

Кстати, даже в 1cpp это очень хорошо заметно, если сравнить что-то из "раннего" с текущим положением вещей.
Ну так и время идет, и портвейн льется. Улыбка

P.S.
Заодно и библиографию составим... Улыбка
  

De quelle planète es-tu?
Наверх
 
IP записан
 
trdm
1c++ power user
qt1l developer
1c++ moderator
Отсутствует



Сообщений: 2343
Местоположение: г. Ростов-на-Дону
Зарегистрирован: 19. Мая 2006
Пол: Мужской
Re: 1CPP: разработчикам - о схеме работы
Ответ #37 - 11. Марта 2008 :: 15:01
Печать  
alest писал(а) 11. Марта 2008 :: 09:16:
Все-таки Некрасивый код и хороший дизайн не исключают друг друга, не так ли?

Исключают. Красивый дизайн и красивый код являются следствием попыта.
Если конечно вышли из под пера одного человека, то они коррелировно хороши/плохи должны быть.
Разность будет, но не особо ощутимая...
  
Наверх
IP записан
 
Переключение на Главную Страницу Страницы: [1] 
ОтправитьПечать