Помимо пустых блоков ошибок в try/catch, я и мои менти столкнулись с еще двумя практиками, которые путают модели.
1️⃣ if hasattr() - это функция в Python, которая проверяет наличие свойств объекта (простите питонщики, я буду использовать более близкие мне термины JS).
В некоторых случаях - это ок, когда мы уверены, что объект пришедший по сети, может иметь или не иметь какие-то свойства.
Но вот когда у нас есть класс, который точно его имеет, проверять его дело бессмысленное.
И сегодня мне Cursor в режиме Auto, понаставил таких бесполезных проверок. Код выглядел ужасно. Я добавил себе правило не использовать hasattr() для проверки методов в классах, которые описаны в файлах.
2️⃣ demo_/test_/песочницы, то есть любые файлы, призванные протестировать часть функционала, изолированно.
Это тоже хорошая практика, но когда вы ее контролировано делаете в отдельном проекте, а не в том же. Почему?
Потому что, после тестов агент редко удаляет такие файлы, а потом путается, где оригинал, а где демка. Он убеждает вас, что внес правки и все должно работать. Вы запускаете основной проект, не видите изменений, и так по кругу, пока не окажется, что он ковыряется в песочнице.
Комментарий менти:
Не понравился следующий момент: Киро для исправления ошибки создаёт отдельную программу, облегчённую, фиксит её, но в основную эти изменения не переносятся. А я и не просил.
А потом говорит что вот у нас есть исправленная версия программы, но она просто изолировано рядом лежит)
Как поступаем? Добавляем правило: не создавать изолированные демо и тест файлы, всегда писать код в основной проект, если создал, то удалять. Тестировать только с помощью unit-тестов.
🎚️ @vibe_coding_channel