LINUX.ORG.RU
ФорумTalks

Release early, release often


0

0

Как по-вашему, стоит ли выкладывать в публичный доступ сырые программы? Которые только делают вид, что работают, а сами сегфолтятся и глючат?

Предыстория. В очередной раз наткнулся на программу составляющую стихи из прочитанных текстов: http://lleo.aha.ru/soft/lleo_dip.htm Показалось страшно неудобным, что программа не принимает кодировок кроме «альтернативной модифицированной». Заодно решил перевести с ассемблера на Си. Пока осилил только перевод, и то с ошибками. Весь текст оригинальной программы оставил пока в комментариях, текстовые сообщения тоже пока не менял.

Файлы: https://sourceforge.net/projects/versemonger/files/versemonger.c/download и https://sourceforge.net/projects/versemonger/files/versemonger.h/download

Собирать командой

sed -e 's/±/~/g ; s/—/-/g ; s/versemonger.h/versemonger-866.h/' versemonger.c | iconv -t cp866 > versemonger-866.c && sed -e 's/±/~/g ; s/—/-/g' versemonger.h | iconv -t cp866 > versemonger-866.h && gcc versemonger-866.c

Запускать в локали ru_RU.iso866. Под линуксом собирается, под другими ОС — вряд ли.

★★★★★

> Как по-вашему, стоит ли выкладывать в публичный доступ сырые программы?

да, но с предупреждением большими буквами

lester ★★★★
()

>Как по-вашему, стоит ли выкладывать в публичный доступ сырые программы? Которые только делают вид, что работают, а сами сегфолтятся и глючат?

Каждый для себя сам решает. Я такие программы выкладывать не буду. Вот у меня несколько проектов идет, и все они в полусыром состоянии, хотя и работают. Я не выложу их, пока не приведу код в порядок и пока (и это самое главное требование) не напишу документацию. Документация обязательна!

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Какого рода документация? Как использовать — встроенный хелп есть. Принцип работы — комментарии в коде. (Правда, комментарии куцые — я в ней ещё не до конца разобрался.)

question4 ★★★★★
() автор топика
Ответ на: комментарий от lester

> да, но с предупреждением большими буквами

По-моему осторожного человека должна напугать уже команда для сборки.

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

> По-моему осторожного человека должна напугать уже команда для сборки.

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

lester ★★★★
()
Ответ на: комментарий от lester

В существующем виде это достаточно хорошо видно, или добавить ещё какие-то пояснения?

question4 ★★★★★
() автор топика
Ответ на: комментарий от question4

Это я на общий вопрос в самом начале топика ответил.

Как по-вашему, стоит ли выкладывать в публичный доступ сырые программы? Которые только делают вид, что работают, а сами сегфолтятся и глючат?

Документация о том, как пользоваться. Если библиотека, то описание функций. Просто когда заходишь на проект, а там в документации одни TBD, то проект сразу производит впечатление мертвого. Поэтому принцип Release early можно считать разумным при выполнении хотя бы этого пункта. Но я этого принципа не придерживаюсь в тех проектах, которые сейчас делаю. Тут уж кто как.

Zubok ★★★★★
()

Ну AMD даже не стесняются этого делать.

linux4ever
()

Почему бы и нет? Версия 0.х и все. Больше скачиваний - больше багрепортов.

PayableOnDeath
()
Ответ на: комментарий от Zubok

Если бы Линус так же относился к своему проекту, мы бы линукса не дождались :)

scabarocci
()

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

a3
()

> Как по-вашему, стоит ли выкладывать в публичный доступ сырые программы? Которые только делают вид, что работают, а сами сегфолтятся и глючат?

Ненадо.

xintrea
()
Ответ на: комментарий от Zubok

> Я не выложу их, пока не приведу код в порядок и пока (и это самое главное требование) не напишу документацию.

Э-эээ. Мне казалось, код на протяжении всего процесса разработки должен быть в порядке. Функциональность наращивается итерационно. Сделал кусочек -> протестил -> опубликовал. Так же по мере надобности рефакторится. Но мы постоянно имеем в vcs исправно работающую программу.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

>Э-эээ. Мне казалось, код на протяжении всего процесса разработки должен быть в порядке. Функциональность наращивается итерационно. Сделал кусочек -> протестил -> опубликовал. Так же по мере надобности рефакторится. Но мы постоянно имеем в vcs исправно работающую программу.

Просто сказать, но сложнее сделать. Основная проблема разработчиков — отсутсвие этапа проектирования. В итоге имеем постоянно меняющийся интерфейс и кучу матюков от пользователей. Ярчайший пример разработки, которая сожрала кучу ресурсов сообщества впустую — HAL.

Я не выпускаю свой код рано, потому что пытаюсь думать о личном времени людях, которые будут пользоваться библиотекой. Хочется по максимуму отнестись к нему с уважением. Мне тоже приятно, если кто-то думает и о моем времени. Что это означает? Это означает, что мне надо продумать будущие изменения перед тем, как публиковать, чтобы дальнейшая разработка как можно дольше не рушила инфраструктуру. И чтобы люди были уверены в стабильности. И знали, что просто так ничего не исчезнет, и их программы продолжат работать. Постоянно сидеть и править свой код в моменты, когда у какого-то разработчика зачесалось что-то без предупреждения убрать или поменять, отнимать это время от других проектов — мало приятного.

Все, что я тут скомканно написал, относится, скорее всего, к принципу release early, нежели к release often. Я лучше продумаю вещи с самого начала, пусть это и задержит релиз.

Zubok ★★★★★
()
Ответ на: комментарий от Zubok

Можно ведь написать большими буквами «alpha version, unstable api». Люди смогут получить представление о будущих возможностях и соотвественно спланировать свою активность. А если кому-то очень надо, то сможет использовать саму альфу. Гораздо лучше, чем если этот кто-то не получит вообще ничего.

И самый главный бонус от «release early» — ты получишь рецензии раньше, чем убьешь кучу времени на создание того, что после получения рецензий все равно придется переделать.

Manhunt ★★★★★
()
Ответ на: комментарий от Manhunt

>Можно ведь написать большими буквами «alpha version, unstable api».

А я в первой версии так и напишу, но я не буду выкладывать сырой, кривой код и не буду без документации. Первая публикация кода не будет иметь версию 1.0, он будет версии 0.x. Начиная с этого момента, я начну принимать пожелания. Документация мне важна, чтобы люди могли быстро разобраться, как пользоваться. Если я не напишу, то мне придется каждому объяснять и я потеряю время. Наличие исходного кода не решает, так как не каждый в него лезет, да и в нем надо разбираться (тут уже пользователь теряет время). Обидно потерять к ряду несколько дней из жизни на какую-то фигню.

Zubok ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.