Конвертер стилей именования переменных
Коротко об инструменте
Змеиный регистр — это соглашение Python из PEP 8 и привычная форма для колонок в PostgreSQL и MySQL, где имена без кавычек всё равно приводятся к нижнему регистру. Когда данные приходят из фронтенда с ключами вида createdAt, их приходится переписывать под бэкенд: createdAt → created_at. Инструмент делает это по всему списку сразу, разбивая слова по заглавным буквам, и работает в браузере — имена таблиц и полей не покидают вкладку. Смотрите также: тот же список в kebab-case для CSS, заменить подчёркивания на дефисы, привести всё к нижнему регистру.
Так предписывает PEP 8: имена функций, переменных и полей пишутся строчными буквами со словами через подчёркивание, а CamelCase остаётся за классами. Смешивать стили в одном модуле не запрещено, но линтеры вроде flake8 и ruff начнут ругаться, а код перестанет выглядеть привычно для другого разработчика.
Выпишите список ключей ответа по одному в строке, преобразуйте их здесь и используйте результат как имена атрибутов. В pydantic или в сериализаторе DRF исходное написание задают алиасом, чтобы во внешнем контракте остался camelCase, а внутри кода жил snake_case. Так обе стороны сохраняют свои соглашения.
Подчёркивание ставится перед каждой заглавной буквой, поэтому userID превращается в user_i_d, а не в user_id. Такие хвосты правьте вручную либо заранее приведите аббревиатуру к виду userId. Это известное ограничение любого механического разбиения по регистру.
Строго — нет, но это сильно облегчает жизнь. Идентификатор без кавычек PostgreSQL приводит к нижнему регистру, поэтому колонка orderTotal, созданная без кавычек, станет ordertotal и потеряет читаемость. Имя order_total остаётся тем же в любом запросе и не требует экранирования.
Строка без заглавных букв проходит через конвертер без изменений: разбивать нечего, подчёркивания сохраняются как есть. Значит, смешанный список, где часть имён уже приведена, можно вставлять целиком и не выбирать вручную, что осталось в camelCase.
Инструмент даёт нижний регистр, поэтому для констант результат придётся перевести в верхний отдельным шагом — например, конвертером текста в заглавные буквы. Константы в Python и в env-файлах пишутся именно так: MAX_RETRY_COUNT, а не max_retry_count.
До: createdAt updatedAt isEmailConfirmed
После: created_at updated_at is_email_confirmed
До: orderTotalAmount customerPhone
После: order_total_amount customer_phone — имена не требуют кавычек в PostgreSQL
Оценка и фидбек помогают понять, что улучшать дальше.