SDD: когда агент спас
Наверное, всем знакома ситуация, когда начал что-то кодить, а через какое-то время осознал, что двигался немного не туда. Ну или не немного 🤭
При рефакторинге вообще милое дело вляпаться в блокер на полпути. Всегда бесило до чёртиков.
И винить обычно некого. Сам проморгал, сам вляпался, сам выкручиваешься.
Сегодня с этим стало проще. ИИ-агент может и код быстро переписать, и хорошую разведку провести (чтобы не пришлось потом переписывать).
Это уже большой плюс. Но может быть ещё лучше. Ниже живой пример.
Один из своих проектов я с самого начала веду в парадигме SDD (Spec Driven Development): сначала спеки, потом код.
Во время проработки одной из фич случился примерно такой диалог:
Понимаете? Уже по спеке агент понял, что фича тяжело ложится. А я не понял: забыл, не уточнил, поспешил. Так ещё и не поверил сначала 😄
Приятно, что есть инструмент, который помогает меньше косячить. Не супер-пупер таблетка, конечно, но при правильном окружении получается очень интересно. Мне нравится, как работает SDD с агентами. Многие проблемы либо отлавливаются на ранних этапах, либо вообще не возникают. Своих тонкостей там тоже хватает, ещё предстоит разобраться. Но даже базовый уровень впечатляет.
А вы создавали что-нибудь через SDD?
Наверное, всем знакома ситуация, когда начал что-то кодить, а через какое-то время осознал, что двигался немного не туда. Ну или не немного 🤭
При рефакторинге вообще милое дело вляпаться в блокер на полпути. Всегда бесило до чёртиков.
И винить обычно некого. Сам проморгал, сам вляпался, сам выкручиваешься.
Сегодня с этим стало проще. ИИ-агент может и код быстро переписать, и хорошую разведку провести (чтобы не пришлось потом переписывать).
Это уже большой плюс. Но может быть ещё лучше. Ниже живой пример.
Один из своих проектов я с самого начала веду в парадигме SDD (Spec Driven Development): сначала спеки, потом код.
Во время проработки одной из фич случился примерно такой диалог:
Я: Хочу сделать турбо-мега-фичу
ИИ: Эта фича противоречит правилу 2 из спеки А003
Я: Ты что-то не понял. Там работает вот так и вот так. Все ложится нормально.
ИИ: (долго думает)
ИИ: Я посмотрел код. Он соответствует спеке А003. Если ты решишь делать фичу, то придется менять правило 2 и переделывать это и это (перечисляет половину проекта)
Я: (уже не смешно, смотрю внимательнее и осознаю)
Я: А, точно, я забыл про это. Тогда сделаем по-другому...
Понимаете? Уже по спеке агент понял, что фича тяжело ложится. А я не понял: забыл, не уточнил, поспешил. Так ещё и не поверил сначала 😄
Приятно, что есть инструмент, который помогает меньше косячить. Не супер-пупер таблетка, конечно, но при правильном окружении получается очень интересно. Мне нравится, как работает SDD с агентами. Многие проблемы либо отлавливаются на ранних этапах, либо вообще не возникают. Своих тонкостей там тоже хватает, ещё предстоит разобраться. Но даже базовый уровень впечатляет.
А вы создавали что-нибудь через SDD?
👍4❤1
Начиная с какой-то версии Windows, вместо пароля можно использовать пин-код. Ввел последовательность цифр и система пустила.
Я какое-то время привыкал к тому, что ввод пин-кода не требует нажатия Enter в конце. Система сразу входит. Я же упорно продолжал нажимать Enter, пока не отвык окончательно.
Зато теперь, когда по воле случая меня заносит на Windows 7, я ввожу пароль и... жду чуда, тупо глядя в монитор 😁
Я какое-то время привыкал к тому, что ввод пин-кода не требует нажатия Enter в конце. Система сразу входит. Я же упорно продолжал нажимать Enter, пока не отвык окончательно.
Зато теперь, когда по воле случая меня заносит на Windows 7, я ввожу пароль и... жду чуда, тупо глядя в монитор 😁
😁5❤2
Игнор коммитов в git blame
Одна из причин, почему на некоторых проектах не спешат использовать автоформаттеры кода, - это нежелание испортить историю git. И git blame в частности.
Все понимают, что при первом применении автоформаттер зацепит много строк и git blame перестанет быть информативным. Весь вывод заполнит коммит с форматированием.
Но git умеет этим управлять. Наряду с тем, как мы можем исключать файлы из отслеживания через .gitignore, мы также можем исключать ревизии из git blame через
Контент файла может быть примерно таким:
Лучше сопроводить хэш коммита комментарием, чтобы потом не вспоминать, откуда это и зачем.
При этом просто создать файл недостаточно. Надо добавить его в конфиг:
Удобная функция.
Если вы давно хотели включить автоформаттер, но не хотели осложнять себе анализ git blame, самое время вернуться к теме и попробовать.
Кстати, кто-то уже пробовал .git-blame-ignore-revs?
🔥 - Да
👍 - Нет, но теперь попробую
🤔 - Нет и не буду
Одна из причин, почему на некоторых проектах не спешат использовать автоформаттеры кода, - это нежелание испортить историю git. И git blame в частности.
Все понимают, что при первом применении автоформаттер зацепит много строк и git blame перестанет быть информативным. Весь вывод заполнит коммит с форматированием.
Но git умеет этим управлять. Наряду с тем, как мы можем исключать файлы из отслеживания через .gitignore, мы также можем исключать ревизии из git blame через
.git-blame-ignore-revs. .git-blame-ignore-revs - это обычный файл со списком хэшей коммитов, которые не будут учитываться в выводе git blame.Контент файла может быть примерно таким:
# First formatting with Prettier
dd8978eab778ac2d0cf49a616c61938ac9174267
Лучше сопроводить хэш коммита комментарием, чтобы потом не вспоминать, откуда это и зачем.
При этом просто создать файл недостаточно. Надо добавить его в конфиг:
git config blame.ignoreRevsFile .git-blame-ignore-revs
Удобная функция.
Если вы давно хотели включить автоформаттер, но не хотели осложнять себе анализ git blame, самое время вернуться к теме и попробовать.
Кстати, кто-то уже пробовал .git-blame-ignore-revs?
🔥 - Да
👍 - Нет, но теперь попробую
🤔 - Нет и не буду
👍4🔥3🤔2