Всего потребовалось 7000 строк кода.

В соответствии с законом Гудхарта использование строк кода для измерения прогресса НЕрекомендуется. Однако любой, у кого есть мозги, поймет, что на самом деле существует разница между возможностями программного обеспечения со 100 строками кода и 1000 (1 KLOC). Если оставить в стороне такие шутки, как однострочники машинного обучения Python, код, состоящий из более чем 1000 строк кода, не может быть стабильно выполнен за выходные. Так же как и доказательство концепции из 25 000 строк. Так что же это такое и зачем оно было создано?

Что такое Копиген?

Copygen — это генератор кода командной строки, который генерирует код структуры тип-тип и поле-поле без добавления каких-либо отражений или зависимостей в ваш проект. Согласно статье Что такое Copygen, Copygen v0.1.0 был выпущен29 сентября 2021 г.. На момент создания этой статьи Copygen приближается к 200 звездам на GitHub: огромный контраст с его первоначальным восприятием.

Когда Copygen был впервые выпущен, критики без колебаний указывали на его недостатки. Хотя это привело к улучшениям пользовательского интерфейса (в выпуске v0.2.0), по-прежнему оставалось большое количество программистов, которые не понимали, зачем кому-то использовать этот инструмент. Причины использования Copygen всегда были перечислены в его README, но действия говорят громче слов: эти программисты не хотели, чтобы им объясняли, чем полезен Copygen. Им нужно было это показать. Хотя это был не единственный фактор в решении создать доказательство концепции, он был чертовски хорошим.

Люди серьезно относятся к Go благодаря Kubernetes и Docker.

Доказательство концепции

Творить без направления — это вообще не творить. Доказательство концепции не является исключением. Само собой разумеется, что у человека должна быть причина делать то, что он делает. Вы не изучаете математику, чтобы понять, что 2 + 2 = 4. Вы изучаете ее, чтобы применить свои навыки в реальном мире (через финансы, науку или иным образом). Таким образом, программист, который «программирует для программирования», — это заблуждение: программирование — это действие, используемое для достижения других средств, (таких как решение проблем).

Я хотел создать Discord Bot, который представляет собой серверное программное обеспечение(с использованием серверно-ориентированного языка). Go был идеальным выбором. Проблема в том, что я постоянно сталкивался с проблемами с существующими решениями Go Discord API Wrappers. Я не являюсь ярым сторонником позиции Not-Invented-Here (NIH), которая ведет к созданию целой операционной системы с нуля. Однако было очевидно, что существующие решения для Discord API Wrappers пострадали от раздувания обратной совместимости за 6 лет… Вот так я потратил 6 месяцев на создание Disgo.

Disgo — это обертка Discord API, разработанная, чтобы быть гибкой, производительной, безопасной и потокобезопасной. Disgo стремится предоставить все функции Discord API вместе с… Да. Ага. Ага. Если вы еще не слышали это , попробуйте это. В противном случае Disgo являетсяпроверкой концепции, в которой нуждался Copygen; особенно для того, чтобы стать готовым к производству программным обеспечением. Я просто еще не знал об этом… Прошло несколько месяцев, и я понял, что 10 000 удобочитаемых строк кода были сгенерированы в Disgo с помощью Copygen. Для получения дополнительной информации прочитайте статью Как Disgo использует Copygen.