TGViewer
.NET Разработчик .NET Разработчик @netdeveloperdiary · 6.76K subscribers
Post #1719 1.5K
День 1388. #Карьера
6 Принципов Разработки Проектов с Открытым Кодом
Работа над проектом с открытым кодом, будь то в качестве автора, сопровождающего или разработчика, может быть довольно сложной! Сегодня посмотрим, на какие важные уроки можно извлечь при разработке open-source проектов.

1. Документация недооценена
Обычно ПО с открытым кодом создаётся не только для себя. Его будут использовать самые разные пользователи с разным уровнем подготовки. Надлежащая документация поможет им начать работу. В документации можно дать объяснение сложных алгоритмов, продемонстрировать варианты использования и даже разместить интерактивные примеры. Кроме того, написание хорошей документации сокращает время, затрачиваемое на решение проблем. У пользователей будет меньше причин задавать вопросы, если они смогут найти ответы в документации.

2. Сообщество — это всё
Сообщество ваших пользователей является важным компонентом вашего ПО. Мы хотим, чтобы пользователи участвовали в разработке. Взаимодействуя с сообществом, вы побуждаете их делиться проблемами и ошибками, а также пожеланиями и идеями для дальнейшего развития. Многие основные функции проектов с открытым кодом реализуются по настоянию пользователей или даже самими пользователями. Кроме того, они помогают с обнаружением проблем и исправлением ошибок.

3. Это отличная возможность для обучения
Независимо от того, будет ли ваш пакет скачан миллионы или всего пару раз, его создание — отличная возможность узнать больше об открытом коде, модульном тестировании, дизайне API и т.д., чем в повседневной работе.
Существует также огромная возможность обучения от взаимодействия с сообществом. Именно они сообщат вам, какой дизайн им нравится, а какой нет. Иногда одна и та же проблема возникает несколько раз в течение нескольких месяцев. Это указывает на то, что нужно переосмыслить дизайн, поскольку он оказался не таким удобным для пользователей, как вы ожидали.
Кроме того, это прекрасная возможность сотрудничества с другими разработчиками.

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

5. Звёзды Github - не гарантия качества
Знание того, как часто используется пакет, очень помогает понять, насколько он популярен. Тем не менее, многие по-прежнему используют звёзды на Github, чтобы оценивать качество и популярность.
Однако большое количество звёзд может быть просто результатом правильного маркетинга. Звезда от пользователя даже не означает, что он использовал это ПО или что оно действительно работает. Количество загрузок пакета гораздо лучший показатель. Кроме того, можно посмотреть на количество форков или активность обсуждения.

6. Психология разработки API
Убедитесь, что пакет прост в использовании и установке, что значительно упрощает его внедрение. Когда вы сильно сосредотачиваетесь на дизайне: модульности, слабой связанности и следовании лучшим практикам, - некоторые пакеты становятся просто взрывом мозга при использовании.
Посмотрите на разработку новых функций с точки зрения психологии, и это значительно облегчит понимание того, на чём следует сосредоточиться. Что нужно пользователям? Почему пользователи на самом деле используют этот пакет? Каковы основные недостатки вашего кода?
Потратьте время на то, чтобы понять, как облегчить внедрение вашего пакета для среднестатистического пользователя. Всё это часто сводится к одному правилу: сделайте это супер простым!
Чем сложнее установить и использовать пакет, тем с меньшей вероятностью пользователи будут использовать его в своём рабочем процессе.

Источник: https://towardsdatascience.com/6-lessons-i-learned-from-developing-open-source-projects-4617e26f247c
Автор оригинала: Maarten Grootendorst
  • 👍 6
More from @netdeveloperdiary
  1. Oct 13, 2026День 2813. #ЗаметкиНаПолях #Async Ещё Раз Про Async/Await в C#. Часть 1 1. Почему существу…
  2. Oct 12, 2026День 2812. #Карьера #AI Как Разработчикам Оставаться Полезными, Когда Код Пишет ИИ? По мер…
  3. Oct 11, 2026День 2811. #ВопросыНаСобеседовании Марк Прайс предложил свой набор из 60 вопросов (как тех…
  4. Oct 10, 2026День 2810. #ЧтоНовенького #VSCode Более Быстрый и Лёгкий C# Dev Kit Мы, разработчики, люби…
  5. Oct 9, 2026День 2809. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Окончание Начало 3.…
  6. Oct 8, 2026День 2808. #Карьера 5 Навыков, Которые Помогут Быстрее Стать Сеньором. Начало В ИТ есть се…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →