Как стать автором
Обновить

Написал книгу по C#

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров15K

6 лет назад у меня появилась мечта - написать книгу по языку программирования C#. Приключение затянулось на долгие годы и я наконец-то сдаю первый том. Здесь расскажу общий концепт, ключевые идеи и сложности с которыми столкнулся.

Как всё началось

В 2018-ом году я начал сбор денег на краудфандинге для написания своей книги по программированию на C#. Месяц я боролся как лев и мы собрали 85 000 рублей!

Радости моей не было предела.

Это было 6 лет назад, мне было 20 и я был молод и горяч и за пол года написал основную массу текста... а потом наступил творческий кризис. За что мне очень стыдно.

Пару дней назад я собрался силами и дописал недостающие главы, привёл текст в порядок и собрал всё в единый документ и выложил бесплатно для всех.

Про краудфандинг

В те года это было модным и собрать деньги была возможность даже если у вас нет аудитории. Сейчас краудфандинг скорей мёртв чем жив.

Про что книга

Книга про программирования на C#... для новичков... построенная вокруг практики.

На самом деле это и был изначальный концепт, хотелось дать базу языка на примере практических задач при этом рассказав про паттерны и здоровое проектирование. Когда я начинал писать книгу у меня было всего 4 года коммерческого опыта но хорошего с Code Review и толковыми наставниками. Но всё-таки книга не откровение для опытных.

Её задача дать крепкую базу для новичков. Не быть очередным справочником по синтаксису а именно книгой которая больше про программирование чем про код.

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

Книга пытается провести человека через основы синтаксиса на примере решение большой задачи - написание вендингового автомата.

Начиная с объявление первой переменной мы плавно идём к техникам динамического программирования для решения сложных алгоритмических задач и подходя к этому мы будем иметь арсенал хорошего проектировщика чтобы инкапсулировать это чудовище и вывести красивые и непротиворечивые абстракции.

Абстракция

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

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

Как по мне это самая база которая часто пропускается другими авторами.

Сложности

Изначально я писал книгу в Google Docs. Это оказалось не очень удобным и в дальнейшем я переехал на Wordpress. Да я просто развернул вордпресс и там писал книгу отдельными постами которые сгруппировал в иеерархию.

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

В дальнейшем я выдернул все посты обратно в Google Docs и подсветил код инструментов Code Block.

Книжный формат плохо подходит для листингов кода, точнее формат A5, не рекомендую его брать. Мне пришлось пронумеровать весь код и загрузить его на GitHub. В самой книге он не читаем к сожалению, что я хочу исправить в следующих изданиях где переверстаю страницы в широкий вид.

Итог

Опытом доволен, написание книги помогает структурировать и систематизировать свои знания. Приходится касаться того в чём ты слабо разбираешься и углублять свои знания. По некоторым главам мне приходилось перечитывать классические учебники чтобы правильно передать суть и детали.

Рекомендую попробовать каждому разработчику написать свой небольшой учебник страниц на 200 на какую-нибудь тему.

Свою книгу я в итоге собрал в PDF и бесплатно выложил у себя в телеграмме - посмотреть

После публикации мне написало несколько издательств, может даже удастся выпустить бумажную версию, что будет очень круто. :)

Теги:
Хабы:
+9
Комментарии22

Публикации

Истории

Работа

Ближайшие события

Конференция HR API 2024
Дата14 – 15 июня
Время10:00 – 18:00
Место
Санкт-ПетербургОнлайн
Конференция «IT IS CONF 2024»
Дата20 июня
Время09:00 – 19:00
Место
Екатеринбург
Summer Merge
Дата28 – 30 июня
Время11:00
Место
Ульяновская область