Skip to content

0 Загрузка
1 Заклинателю приложений
2 Не стоит умножать на хаос
3 Сэмплы
4 ООП которое не грузит
5 Хорошо сделанный код
6 Хорошо протестированный код
7 Принципы
8 Три базовых принципа кодописи
9 Разработка на основе типов
10 Отделяй логику от ввода-вывода
11 Пиши код без исключений
12 Философия unix
13 Код - побочный эффект коммуникации
14 Инструменты и практики контроля
15 Кодописцы завтрашнего дня
16 Мастерство заклинателя приложений

Загружаемый контент:

17 Пример рефакторинга приложения
18 Вертикальные срезы
19 Оупенсорсофобия
20 Все время падает
21 Машина заклинает машину
22 Почему тебя не станет

Книга Кода

Добро пожаловать в киберпространство, где качественный код — это не просто концепция, а жестокая минималистичная реальность.

0 Загрузка

Программирование — это навык, который пронизывает киберпространство на всех слоях. Мы программируем сознание своими мыслями, мы программируем изображения цветом и линиями, образы распознаются нами, впитывая паттерны, оставляют слепок эмоции и программируют, в итоге, людей; мы программируем детей, людей, создаем паттерны поведения и успеха. Сегодня код машин окружает нас повсюду: от смартфонов в наших руках до сложных систем высокоскоростной алгоритмической торговли (HFTS — high-frequency trading systems), систем, управляющих городами, машинами. Программирование — не просто инструмент для создания программ автоматизации рутины — это способ мышления.

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

«Книга Кода» — это не просто руководство. Это карта, которая проведет тебя через лабиринты киберпространства, где строки кода — это твои заклинания, а функции — порталы в новые слои приложения. Здесь ты освоишь мастерство создания хорошо сделанного софта, который не просто работает, но и соответствует высочайшим стандартам качества, которые диктует сама матрица.

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

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

Эти принципы помогут тебе освоиться, встать на ноги, выхватить суть, уверенно влиться в киберпространство и создавать не просто софт, а хорошо сделанный софт. Твой код будет развиваться вместе с тобой как твоя вторая броня, в мире, который мчится на сверхскоростях, ослепнув от собственного совершенства.

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

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

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

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

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

Вкусив прелесть создания хорошо сделанного кода, мы зададимся вопросом: зачем вообще мы программируем? С кем мы создаём автоматизацию? Для кого? И что нужно делать, чтобы не оказаться в пустоте после видеозвонка в 14:00 с боссом, который, как всегда, хочет невозможного. Мы найдём ответы на эти вопросы, потому что без них наш код — это просто набор символов, лишённый смысла.

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

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

«Теория без практики мертва, практика без теории слепа», - сказал великий русский полководец Александр Васильевич Суворов

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

Каждая ошибка, каждый сбой, каждый баг — это кирпичик, из которого строится твоя победа. Ты падаешь, разбиваешься, но встаёшь, и в твоих руках уже не просто код, а нечто большее — опыт, который нельзя купить, нельзя скачать, нельзя украсть. Это твоя валюта в мире, где реальность и виртуальность сливаются воедино, где каждый байт — это шаг к новому тебе.

Эта книга — не просто сборник идей теоретика, это отчёт с поля боя, где каждая практика врезалась как рубец на теле после ранения. Здесь будет много практических примеров, и они появятся очень скоро. Но прежде чем мы перейдём к ним, я прошу тебя с вниманием отнестись к вводной части. Это не просто формальная теория, это важно, это калибровка контекста, калибровка мыслеполагания. Считай это инструктаж и калибровка твоего доспеха перед отправкой в киберпространство на бойню.