Рефакторинг функции в Qwen Coder: поведение один в один
Промпт для Qwen Coder: рефакторинг с жёстким требованием сохранить поведение. Найденные баги — отдельным блоком, а не молчаливой правкой; на выходе список «было → стало → зачем» и три тест-кейса.
Пример результата
На функции разбора дат из выгрузки (43 строки, три уровня вложенности) Qwen Coder сделал ровно то, что просили: вынес форматы дат в константу, развернул вложенные if в ранние выходы, переименовал x и tmp в raw_value и parsed. Поведение не тронул — и отдельным блоком «НАЙДЕН БАГ» показал, что пустая строка роняет функцию исключением вместо None, с примером входа. Список «было → стало → зачем» занял шесть строк, по нему изменения проверяются за минуту. Тест-кейсы предложил дельные: граничный — дата 29 февраля, типовой — обычная выгрузка, злой — дата в будущем. Где модель схалтурила: заменила в одной строке конкатенацию на f-строку и не внесла это в список изменений — список оказался неполным. Перед коммитом сравнивайте diff глазами, а не только по списку модели.