|
| 1 | +# Создаем и улучшаем нашу библиотеку на C++ с CMake, тестами, документацией и блекджеком: часть 3 |
| 2 | +В мире программирования создание собственных библиотек - это не просто возможность пополнения своего портфолио или способ структурировать код, а настоящий акт творческого самовыражения (и иногда велосипедостроения). Каждый разработчик иногда использовал в нескольких своих проектах однообразный код, который приходилось каждый раз перемещать. Да и хотя-бы как упаковать свои идеи и знания в удобный и доступный формат, которым можно будет поделиться с сообществом. |
| 3 | + |
| 4 | +Если вы ловили себя на мысли: "А почему мне бы не создать свою полноценную библиотеку?", то я рекомендую прочитать вам мою статью. |
| 5 | + |
| 6 | +Эту статью вы можете использовать как шпаргалку для создания проектов, и не только библиотек. |
| 7 | + |
| 8 | +Некоторые из вас могут подумать что мы изобретаем велосипед. А я в ответ скажу - сможете ли вы прямо сейчас, без подсказок, только по памяти, нарисовать велосипед без ошибок? |
| 9 | + |
| 10 | +Добро пожаловать в третью, скорее всего финальную (наверное) часть статьи! Здесь мы окончательно допишем код, исправим некоторые ошибки. |
| 11 | + |
| 12 | +Первая часть доступна по [этой ссылке](https://habr.com/ru/companies/timeweb/articles/845074/), вторая часть доступна по [другой ссылке](https://habr.com/ru/companies/timeweb/articles/846736/). |
| 13 | + |
| 14 | +--- |
| 15 | + |
| 16 | +Итак, в прошлых двух статьях мы сделали: |
| 17 | + |
| 18 | + + Автоматическую генерацию документации с ее публикацией на GitHub Pages |
| 19 | + + Продвинутую сборку при помощи CMake |
| 20 | + + Инструменты для форматирования и линтинга кода |
| 21 | + |
| 22 | +В этой статье мы будем работать над архитектурной частью, над библиотекой, улучшим ее аспекты, и конечно-же, продолжим писать C++ код. |
| 23 | + |
| 24 | +# Внешний вид библиотеки |
| 25 | +Человека встречают по одежке, а open source проект - по его описанию, README. Для того, чтобы пользователь мог понять, что к чему, следует в описании отвечать на следующие вопросы: |
| 26 | + |
| 27 | +Какое назначение проекта? Описание должно быть лаконичным и отражающим суть проекта. |
| 28 | + |
| 29 | +Почему проект полезен? Он должен решать определенные проблемы, поэтому необходимо явно написать о них, чтобы потенциальный пользователь мог понять, будет ли библиотека полезной для него. Нужно выделить преимущества своего решения по сравнению с аналогами, желательно с конкретными цифрами и бенчмарками, иначе потенциальный пользователь установит более эффективную или популярную библиотеку. |
| 30 | + |
| 31 | +Как приступить к работе с библиотекой? Этап с установкой и настройкой библиотеки необходимо описать самым детальным образом. Ведь далеко не всегда то, что очевидно вам — очевидно другим. Решением могут пользоваться люди, у которых совершенно другой опыт. Нужно, чтобы любой желающий, кто хочет установить решение, понял, как это сделать. |
| 32 | + |
| 33 | +Где можно получить дополнительную помощь, если она мне понадобится? Обязательно оставить свои контакты или другую предпочитаемую форму взаимодействия. |
| 34 | + |
| 35 | +Можно использовать свой README для ответа на другие вопросы. Например, дальнейшие цели в развитии проекта, информация о лицензиях, важных изменениях в коде. |
| 36 | + |
| 37 | +## Содержание |
| 38 | + |
| 39 | + + [Первая часть](https://habr.com/ru/companies/timeweb/articles/845074/) |
| 40 | + + [Вторая часть]((https://habr.com/ru/companies/timeweb/articles/846736/) |
0 commit comments