Страх выпустить хобби-проект - как побороть? [закрыто]


37

Я не знаю, связан ли этот вопрос с разработкой программного обеспечения, но все же я попробую:

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

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

Это нормально? Как вы преодолеваете такую ​​ситуацию?


11
Ну, это достаточно хорошо для вас, и «они» получают это бесплатно, так почему они должны жаловаться?
Иоахим Зауэр

42
«Я боюсь, что мой код недостаточно хорош» - если вы оглянетесь на то, что сделали вчера, и вам это нравится, значит, вы не улучшаете.
Роджер Липскомб

9
Если это работает и не полный беспорядок спагетти, выпустите это. По моему опыту, весь код подвергается критике, к этому привыкаешь. Microsoft выпустила целый код для включения в Linux. Кажется, я помню, что его отправили обратно, чтобы привести в порядок и в итоге получить вдвое меньше строк. Я смотрю на свой код каждый день и думаю: «О Боже. Я написал это?
Дох

4
Это никогда не станет лучше без людей, стучащих в это. Действуй!
Скотт С. Уилсон

4
Ты хочешь! Вы должны считать себя счастливчиком, если кто-то даже заметит, что вы выпустили какой-то код :)
Benjol

Ответы:


51

Прежде всего, помните: доставка это особенность . Лучше выпустить что-то несовершенное, чем вообще ничего не выпускать.

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


23

Положите это там.

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

Несмотря на то, что ваши вещи, вероятно, не будут использоваться кем-то еще, есть несколько преимуществ, почему вы все равно должны их выпускать:

  • Вы учитесь использовать контроль версий, который многие программисты не знают, как сделать вас более привлекательным
  • Люди могут указать на проблемы для вас; все возможности для вас, чтобы научиться делать вещи по-другому
  • У вас будет онлайн-портфолио с материалами, которые вы сделали, и это здорово дополнить ваше резюме.

3
+1 за «Люди могут указывать на проблемы для вас» - это одно из огромных преимуществ от предложения кода с открытым исходным кодом.
Эндрю Томпсон

14

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

Когда Линус впервые представил ядро ​​Linux, это был не полный, стабильный, без ошибок и чистый код; это была неполная, дрянная, непереносимая и зашитая финская клавиатура .


3
Я люблю эту перспективу.
ТехШрик

+1 для примера Linux.
Кальмариус

6

По сути, я бы не беспокоился о том, нравится ли людям мой код или нет. Выпустите его по бесплатной лицензии, если это полезно для людей, но они находят ошибки, неоптимальные решения и требуют больше функций, они могут сами исправить это. Использование GPL или LGPL также позволит вам найти эти исправления, и вы сможете применить их самостоятельно, если сочтете их полезными / подходящими.


5

Извините, но вы делаете прямо противоположное тому, что вы должны делать!

Выпустите его как можно скорее, прислушайтесь к отзывам людей, а затем реализуйте новые функциональные возможности, основанные на этом. А не наоборот!


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

2
@Caleb: это всегда так. Цель всегда в том, чтобы отгружать продукт и никогда не писать код!
Томас Бонини

Не забывайте, что контроль версий позволяет людям видеть УЛУЧШЕНИЯ в коде. Наблюдение за тем, как кто-то начал с плохого кода, но смог превратить его в прекрасный пример, показывает: а) они могут учиться, б) они хотят улучшить старый код, а не игнорировать его
Арен

4

Что вам терять ?

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

И, если вы получаете отрицательный отзыв - это шанс учиться .. Не тратьте его впустую.


"Это, вероятно, не будет замечено в любом случае". К сожалению, очень верно.
user16764

3

Совершенно нормально, в любой области, кроме программного обеспечения. Убедитесь, что он собран в нескольких разных средах, напишите README и добавьте его в github / codeplex / etc. Пройдя через это в первый раз, это единственный способ преодолеть беспокойство.

Во-вторых, третий и n-й раз, где веселье лежит!


1

Вот одна из причин выпуска незавершенного программного обеспечения: начать создавать сообщество. Если вы хотите, чтобы ваш проект стал полезным инструментом с открытым исходным кодом, вам нужны другие разработчики. Один из способов привлечь их - это выпустить его заранее, а затем продолжать (публично) вносить улучшения. Не добавляйте эти функции в секрете - делайте это публично, на странице Github или где-либо еще. Это порождает активность в истории.

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.