Я часто смотрю свежие тренды - что появляется в Go, но иногда захожу посмотреть на Rust, C++ и т.д. Тренды разных языков программирования на Trendshift могут помочь:
Начал читать на этой неделе. Как создать свою СУБД на Go в 3000 строк кода и познакомиться с ключевыми концепциями движков баз данных: B+Tree индекс и манипуляции данными с ним, атомик-транзакции, надежность, concurrency-контроль и даже язык запросов. И всё на 3000 срок кода. Когда закончу чтение обязательно сделаем эпизод по этой книге.
Что мы знаем о Lean MVP, Walking Skeleton или Rapid prototyping? Это названия процессов, когда надо затащить проект очень быстро.
Мне нужно закончить к среде этой недели MVP проекта и я делаю его очень быстро, вместе с Antropic Claude, Github Copilot, однострочным автокомплитом в GoLand. Приходится принимать решения очень быстро. Что делать, когда нет времени на плотное тестирование? Я так уже делал и считаю это оптимальным - пишем единственный тест, который проверяет happy path (успешный сценарий). Какие преимущества?
Тестирование одного happy path можно сравнить с конвеером на заводе. Есть главная артерия-конвеер и по нему идет 95% деталей, но есть и отбракованные 5%. Мы тестируем, что работает главный сценарий, а бракованные детали просты скидываем с конвеера (естественно логгируем и сохраняем состояние для дальнешей отладки процесса).
У подхода есть и существенные очевидные недостатки:
Такое прототипирование должно идти вместе с сознательным отказом от совершенства! Приоритет не unit-тестам, а более высокоуровневым интеграционным (пишем в СУБД, делаем API-запросы к mock-серверам) e2e/workflow тест.