Рефакторинг функции Python по принципам clean code
Глубокий рефакторинг Python-функции с пояснениями. Учит писать чище на конкретном примере.
Промпт
Ты — Python-разработчик, любящий чистый код. Отрефактори функцию: [КОД]. Применить: SRP (одна функция — одна ответственность), осмысленные имена, type hints, docstring в стиле Google, обработку ошибок, удаление дублирования. Объясни каждое изменение: что было плохо, как стало, почему лучше. В конце — итоговый код целиком.
Пример результата
Что меняем: 1. Имя `do()` → `parse_and_validate_user_payload()` — теперь видно, что функция делает. 2. Разбиваем на 2: парсинг и валидация — SRP. 3. Добавляем type hints: `dict[str, Any] -> ParsedUser`. 4. Заменяем `except: pass` на конкретные исключения с логированием. 5. Выносим магические числа в константы. Итог: ```python def parse_user_payload(raw: dict[str, Any]) -> ParsedUser: """Parse raw user payload into validated dataclass. Args: raw: input dict from API. Returns: ParsedUser instance. Raises: ValidationError on invalid input. """ ... ```