Набор задач для прокачки навыка код-ревью Python-кода.
Идея: тебе дают реальный по духу кусок кода — веб-ручку, CLI-клиент, парсер, скриптик, автоматизацию — а ты играешь роль ревьюера. Твоя задача: найти в нём как можно больше проблем, объяснить почему это проблема и как починить. Потом сверяешься с эталонным разбором.
Тренируем только Python и его экосистему (stdlib, requests/httpx, asyncio, pytest, sqlalchemy и подобное). Никаких фронтов, инфры и алгоритмических головоломок — это про инженерное чтение чужого кода.
Набор задач NN_*.py — реальные по духу куски кода на ревью: мутабельные дефолты,
утечки ресурсов, голые except, SQL-инъекции, краевые случаи, проблемы
читаемости и корректности.
Баги в задачах — микс, как в жизни: в одном файле могут соседствовать баг корректности, дыра в безопасности, лишняя аллокация и стилевой запах. Не жди, что проблема ровно одна и ровно того типа, что ты ожидаешь.
NN_*.py. Читаешь код так, будто это MR
тебе на ревью. В сам файл не пишешь — веди заметки отдельно (блокнот, комменты в копии).solutions/ с тем же номером
и сверяешься. Считаем не «нашёл/не нашёл», а сколько реальных проблем поймал и
не наловил ли ложных.Файлы задач намеренно «грязные» и часто нерабочие — так и задумано. Не запускай их вслепую: некоторые содержат опасные или зависающие места (в этом и суть — заметить их на ревью).
NN_short_name.py — код на ревью. Сверху краткий контекст в докстринге
(что это за код и где живёт), дальше — сам код без подсказок.solutions/NN_short_name.md — эталонный разбор: список проблем с
объяснением и вариантом фикса.