Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

одна идея касаемая с.п.о.

56K
25 июля 2010 года
pika.chu
13 / / 19.07.2010
Возникла такая идея относительно проектов свободного п.о.. Что, если составлять техническое задание таким образом, чтоб проект состоял из нескольких самостоятельных частей с заранее определенным интерфейсом, и любой желающий мог бы сделать свою реализацию любой части.

Например, p2p dc клиент: можно сходу выделить такие части, как интерфейс, модуль связи с сервером, модуль хеширования и составления списка своего контента. Интерфейс может быть как графическим так и консольным, как на Qt так и на GTK.
Можно также разбить задачу на более мелкие части, в идеале - чтоб реализацию осилил 1 человек или небольшая команда.

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

Ваше мнение?
1
25 июля 2010 года
kot_
7.3K / / 20.01.2000
а как прикажете быть при поставке скомпилированных пакетов? И кто будет писать тесты?
1.8K
25 июля 2010 года
LM(AL/M)
332 / / 20.12.2005
тесты может/должен написать автор т.з.
1
25 июля 2010 года
kot_
7.3K / / 20.01.2000
т.е. вы с репозитария всегда берете пакеты с мыслями - "ну автор же должен/может". А кому собственно должен?
56K
25 июля 2010 года
pika.chu
13 / / 19.07.2010
Вообще основная идея - написание программного обеспечения при помощи "хайвмайнда", как, например, пишутся статьи в википедии. При достаточно грамотном подходе и наличии опытных людей во главе проекта такое вполне осуществимо. Все, надеюсь, согласны, что грамотное четкое ТЗ это уже на половину реализованный проект.
А реализует пусть любой желающий. В сети есть целая куча энтузиастов, которые не знают, куда свой энтузиазм направить. Вот при таком подходе у новичка отточатся навыки программирования и работы в команде, плюс всё это будет не "для себя", а общественно полезный труд.

И еще естественно нужно иметь четко определенную систему управления всем этим делом. Например, кто-то что-то закоммитил и это прошло модерацию. далее - закомиченный сорс код тестируется после автоматического тестирования отдельными людьми и при положительном отклике Нтого количества тестеров признается годным.
56K
25 июля 2010 года
pika.chu
13 / / 19.07.2010
Еще такая мысль: сейчас есть целая куча опенсорсного кода, и вроде как он доступен для изучения любым желающим, но читать достаточно большие сорцы трудновато. А при наличии "документации", что делает отдельный класс и какое место он занимает во всём коде, это гораздо проще. Со временем наверно можно будет даже стандартизировать написание технического задания.
287
25 июля 2010 года
Shiizoo
958 / / 14.03.2004
В стране ТЗ и так стандартизированы.
87
25 июля 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: pika.chu
Возникла такая идея относительно проектов свободного п.о.. Что, если составлять техническое задание таким образом, чтоб проект состоял из нескольких самостоятельных частей с заранее определенным интерфейсом, и любой желающий мог бы сделать свою реализацию любой части.



Ок. Разделили проект на 10 частей. 3 части кто-то сделал, остальные 7 никому не интересны. Что делать? Продукта нет - одни части.

Далее. Пусть нашлось 10 человек. Пока один делал свою часть, заметил что в ТЗ были допущены логические ошибки (или ещё какие-нибудь). Он переделал интерфейс по своему, чтобы как-то работало. Всё, с остальными частями не соединяется. Что делать? А ведь скорее всего так будет со всеми частями.

1.8K
26 июля 2010 года
LM(AL/M)
332 / / 20.12.2005
вобще-то те же проблемы возникают при любой организации проекта; но если делать проект модульным больше шансов привлечь к разработке энтузиастов
а в случае с изменением интерфейса всё просто: чел просто публикует новую версию своего модуля а остальные кто зависит от него либо подгоняют свой код под новый интерфейс либо продолжают использовать старую версию того же модуля
87
26 июля 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: LM(AL/M)
вобще-то те же проблемы возникают при любой организации проекта; но если делать проект модульным больше шансов привлечь к разработке энтузиастов


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

Цитата: LM(AL/M)
а в случае с изменением интерфейса всё просто: чел просто публикует новую версию своего модуля а остальные кто зависит от него либо подгоняют свой код под новый интерфейс либо продолжают использовать старую версию того же модуля


Чтобы публиковать новую, надо чтобы была старая. А если ТЗ пишет любитель, то он не представляет, реализуемо ли то, что он напридумывал или нет, не представляет, насколько оно будет удобно для использования и т.д.

В общем, нужен координатор. Во вторых, ТЗ должно быть "живым", то есть переписываться, если есть необходимость. А самособирающаяся модель водопада - это утопия.

1.8K
26 июля 2010 года
LM(AL/M)
332 / / 20.12.2005
Цитата: Kogrom
... Нужен ответственный человек...


согласен. и желательно не один. вобще-то я априори рассматриваю ситуацию когда это условие выполнено и меня больше интересует вопрос организации распределённой разработки

Цитата: Kogrom

Чтобы публиковать новую, надо чтобы была старая. А если ТЗ пишет любитель, то он не представляет, реализуемо ли то, что он напридумывал или нет, не представляет, насколько оно будет удобно для использования и т.д.

В общем, нужен координатор. Во вторых, ТЗ должно быть "живым", то есть переписываться, если есть необходимость. А самособирающаяся модель водопада - это утопия.


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

87
26 июля 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: LM(AL/M)
а насчёт самособирающейся модели водопада что-то не понял



Вот же:
http://ru.wikipedia.org/wiki/Модель_водопада

Или, более модная и современная альтернатива:
http://ru.wikipedia.org/wiki/Итеративная_разработка

Но автор темы говорит именно о Модели Водопада. Неуправляемой, но работающей.

1.8K
26 июля 2010 года
LM(AL/M)
332 / / 20.12.2005
вобще-то не вижу тут никакого водопада. как я понял, идея автора в том чтобы сделать проект собираемым из "маленьких кирпичиков" так что любой желающий мог бы внести улучшения в любой из имеющихся кирпичей или дописать альтернативный кирпич
эта работа может производиться абсолютно асинхронно и никаких итераций тут не надо
87
26 июля 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: LM(AL/M)
вобще-то не вижу тут никакого водопада.



Как же не водопад? Как раз в водопаде не итерации, а этапы. Грубо говоря: написание ТЗ, проектирование, программирование, тестирование. И никаких возвратов к предыдущему этапу.

У автора темы ещё проще: написание безошибочного ТЗ, программирование.

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

1.8K
26 июля 2010 года
LM(AL/M)
332 / / 20.12.2005
лано... конструктивного разговора не получается, я завязываю с этой темой
87
26 июля 2010 года
Kogrom
2.7K / / 02.02.2008
Цитата: LM(AL/M)
лано... конструктивного разговора не получается, я завязываю с этой темой



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

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

1.8K
26 июля 2010 года
LM(AL/M)
332 / / 20.12.2005
ладно ждите к 2025 году
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог