handbookНаписать

handbook.

Личная база знаний по разработке: архитектура, паттерны, принципы, особенности языков и уроки. Каждая тема — короткий конспект и запускаемые примеры на PHP, Go, Python и TypeScript, которые можно сравнить бок о бок.

58тем
4языка
220тестовых файлов
31с практикой

Как читать

  • Тема - это статья. Проблема, решение, схема, плюсы и минусы, когда не применять.
  • Код рядом. Над статьёй полоса с языками: нажмите PHP, Go, Python или TypeScript, и код откроется сбоку с пояснениями к классам и строкам.
  • Тесты настоящие. Кнопка «тесты» показывает тесты темы: одни и те же случаи на четырёх языках, все они проходят перед каждой выкладкой сайта.

Начать: Стратегия · поиск по темам: Cmd K

Разделы

  • principles/ПринципыПринципы проектирования, которые стоят за паттернами и архитектурными стилями. Код в темах показывает, как выглядит решение, когда принцип соблюдён, а вариант «до» лежит в статье.8 тем
  • patterns/ПаттерныПаттерны проектирования: каталог GoF и прикладные паттерны корпоративных приложений.31 тема
  • architecture/АрхитектураАрхитектурные стили и подходы: как организовать приложение целиком. Все темы раздела решают одну задачу - оформление заказа: позиции, проверка склада, сумма в копейках, сохранение, оплата, уведомление. Так стили видно рядом, на одних и тех же запросах.6 тем
  • languages/ЯзыкиИдиомы и особенности языков. Тема здесь содержит реализацию только на своём языке, а в статье по абзацу о том, как то же решают остальные три.4 темы
  • lessons/УрокиПошаговые разборы рефакторинга: каждый шаг (step-N/) - независимая рабочая версия кода с теми же тестами. Поведение не меняется, меняется устройство, и тесты это доказывают на каждом шаге.9 тем

Education ​

Личная база знаний по разработке: архитектура, паттерны, принципы, особенности языков и уроки. Каждая тема — короткий конспект и запускаемые примеры на PHP, Go, Python и TypeScript, которые можно сравнить бок о бок.

Разделы ​

РазделО чём
principlesSOLID, GRASP, DRY/KISS/YAGNI, Law of Demeter, композиция vs наследование
patternsGoF (порождающие, структурные, поведенческие) и прикладные паттерны
architectureСлоистая, гексагональная, Clean Architecture, DDD, CQRS, Event Sourcing
languagesИдиомы и особенности PHP, Go, Python, TypeScript
lessonsПошаговые разборы: от проблемы к решению

Формат темы ​

<раздел>/[группа]/<тема>/
├── README.md     # проблема → решение → структура → плюсы/минусы → когда не применять → отличия языков
├── php/          # реализация + тест
├── go/
├── python/
└── ts/

Тема самодостаточна: код одной темы не импортирует код другой. Заготовка новой темы лежит в _template/topic/.

Требования ​

  • PHP 8.4+ и Composer
  • Go 1.25+
  • Python 3.13+ и uv
  • Node.js 22+ и npm
  • make

Запуск ​

bash
make install                               # зависимости всех языков
make test                                  # тесты всех тем на всех языках
make test T=patterns/behavioral/strategy   # одна тема
make test-go T=patterns                    # один язык, один раздел
make lint                                  # php -l + PHPStan, gofmt + go vet, ruff, tsc

Языки без файлов в выбранном пути пропускаются (skip <lang>: no files).

Чтение в браузере ​

Справочник открывается на https://timcode.ru/handbook/ и собирается вместе с сайтом из папки выше:

bash
make docs           # то же, что make dev в корне: http://localhost:5180/handbook/

Сайт читает темы как есть: README становится статьёй, а код открывается рядом с ней. В deck.yaml темы лежат пояснения к коду: docs над объявлением класса или метода, notes под отдельной строкой.

© 2014-2026 Тимур ТурдыевСайт и справочник работают на VPS от AdminVPS