Открытый исходный код или немного о том, чем пренебрегают некоторые начинающие "разработчики"

Руководство Открытый исходный код или немного о том, чем пренебрегают некоторые начинающие "разработчики"

Поддерживаемые версии
  1. Отсутствует

Вступление​

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



Почему открытый исходный код это хорошо?​

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

Минутка теории: есть такая штука как система контроля версий (он же VCS - Version Control System) которая позволяет сохранять рабочие состояния кода. Это работает как сохранение файла в какой-либо программе: если вы сделаете что-то не так, то запросто сможете отменить изменения на последнюю сохранённую версию. Только тут можно делать много таких сохранений, иметь удалённый репозиторий где код будет храниться, работать в команде и так далее. Самая популярная из этих систем - GIT, есть сервисы для хранения этих самых кодов, самые популярные из которых GitHub, GitLab (и разные селфхост варианты, такие как тот же GitLab или Gitea, но о них говорить тут не будем).

Если вы вдруг ещё не понимаете к чему я веду, то кратко объясню: вы можете сохранять рабочие состояния кода, а потом к ним возвращаться, а также работать в команде. Хорошо, с этим разобрались. Но причём тут открытый исходный код? Дело в том, что хранить проекты только у себя на компьютере это сомнительное решение. И в любом случае если проект относительно немалый или если нужно работать в команде, то придётся использовать GIT. И на том же GitHub его можно держать, для этого там есть публичные и приватные репозитории.

И вот тут возникает вопрос: а зачем же открывать код, если можно держать его в приватном репозитории, даже если сам проект распространяется бесплатно? И тут можно перечислять причины очень долго, но пару из них я всё же упомяну:
  • Как минимум потому что вам не стыдно за свой код? Да, все воспринимают критику по-разному, но без конструктивной критики невозможно создать хороший продукт.
  • Для портфолио. Предположим, вы хотите вступить в команду какого-нибудь проекта. И попасть в хорошую команду станет в разы проще, если у вас будет это самое портфолио, для чего прекрасно подходят проекты с открытым исходным кодом.
  • Совместная разработка. Дело в том, что сервисы типа GitHub это не просто файлопомойка для хранения кода, это своеобразная соцсеть, где любой пользователь может помочь другому. И если ваш проект настолько хорош что кого-то зацепит, то этот человек поставит вашему проекту "звёздочку", а при нахождении каких-то проблем может помочь с её решением через открытие Issue или отправкой Pull Request с готовым кодом.
  • И в целом, почти все достойные проекты имеют открытый исходный код. Всеми любимые плагины (такие как WorldEdit, WorldGuard, EssentialsX, DeluxeMenus, DecentHolograms, PlaceholderAPI и так далее), ядро сервера (CraftBukkit, Spigot, Paper, Purpur, Bungeecord, Velocity, ...), программы, которые и и используются для разработки (Intellij Idea Community Edition, VS Code, GIT, ...), сама Java и Linux (на котором стоит заметное большинство ВСЕХ СЕРВЕРОВ В МИРЕ) имеют открытый исходный код. А чем вы хуже?



Чем же это важно для пользователя?​

Если наличие открытого исходного кода (на GitHub, GitLab или любой аналогичной платформе) это не прямой показатель качества самого кода, то очень намекающий. Наличие открытого исходного кода это хоть и не полная, но вполне достаточная гарантия того, что автор хоть немного ПОНИМАЕТ что он написал, что в коде не будет вредоносного функционала (потому что его бы быстро нашли другие пользователи или разработчики), что автор не стыдится своего кода и что проект не умрёт если автор забросит его (конечно, если он достаточно хорош). А причины можно перечислять ещё очень долго...

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



Про популярные заблуждения​

Часто слышу такое заблуждение что если нет открытого кода, то никто не сможет его украсть и написать "пасту". Что ж, хочу вас разочаровать. Байткод Java очень легко поддаётся реверс-инжинерингу (декомпиляции) - то есть получить Java код из скомпилированного JAR довольно просто. Существуют способы скрыть код - обфускация, но теоретически её также реально обойти. То есть, отсутствие исходного кода явно не поможет скрыть от таких людей, а скорее ещё навредит лично вам, ведь будет труднее кому-либо доказать что код принадлежит вам.

К слову, если вы видите обфускацию у бесплатного проекта, то рекомендую трижды подумать о том, стоит ли его вообще использовать.

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

Что-то не знать или не уметь это вполне нормально. Надеюсь, кому-то будет полезно:
Для просмотра этого контента нам потребуется ваше согласие на установку файлов cookie третьих лиц.
Более подробную информацию можно найти на нашей странице cookie.

Если вы разработчик и используете Intellij Idea (а скорее всего это так и есть), то вот краткий гайд в картинках:
1737545907217.png
1737545956364.png
Снимаем галочку "Private" чтобы сделать репозиторий публичным.

Добавляем аккаунт, если его ещё тут нет. Если есть, пропускаем шаг 4

1737546020213.png
Нажимаем на кнопку и входим в аккаунт GitHub

1737546101915.png


После чего появляется следующее окно:

1737546132670.png


Теперь сайт можно закрыть
Видим что наш аккаунт добавился. Теперь нажимаем "Share" и публикуем наш код!

1737546169688.png

Готово! Как сами видите, всё очень просто



Дополнительно​

Если вы думаете что сюда стоит что-то добавить то напишите об этом ниже. А так спасибо за прочтение
  • 1737545897437.png
    1737545897437.png
    12.6 KB · Просмотры: 7
Автор
MrDrag0nXYT
Просмотры
89
Первый выпуск
Обновление
Оценка
0.00 звёзд 0 оценок

Другие ресурсы пользователя MrDrag0nXYT

Поделиться ресурсом

Последние обновления

  1. Микро дополнение статьи

    Добавил суперпростой гайд по приближению к статусу гигачада в картинках
Назад
Сверху Снизу