Так себе программист
97 subscribers
185 photos
7 videos
1 file
183 links
Меня зовут Александр Троценко. Разработчик, преподаватель, к.т.н. Пишу о программировании и профессии.

10 лет в разработке desktop на C/С++

Контент: https://taplink.cc/atrotsenko
Download Telegram
SDD: когда агент спас

Наверное, всем знакома ситуация, когда начал что-то кодить, а через какое-то время осознал, что двигался немного не туда. Ну или не немного 🤭
При рефакторинге вообще милое дело вляпаться в блокер на полпути. Всегда бесило до чёртиков.

И винить обычно некого. Сам проморгал, сам вляпался, сам выкручиваешься.

Сегодня с этим стало проще. ИИ-агент может и код быстро переписать, и хорошую разведку провести (чтобы не пришлось потом переписывать).

Это уже большой плюс. Но может быть ещё лучше. Ниже живой пример.

Один из своих проектов я с самого начала веду в парадигме SDD (Spec Driven Development): сначала спеки, потом код.
Во время проработки одной из фич случился примерно такой диалог:

Я: Хочу сделать турбо-мега-фичу

ИИ: Эта фича противоречит правилу 2 из спеки А003

Я: Ты что-то не понял. Там работает вот так и вот так. Все ложится нормально.

ИИ: (долго думает)

ИИ: Я посмотрел код. Он соответствует спеке А003. Если ты решишь делать фичу, то придется менять правило 2 и переделывать это и это (перечисляет половину проекта)

Я: (уже не смешно, смотрю внимательнее и осознаю)

Я: А, точно, я забыл про это. Тогда сделаем по-другому...


Понимаете? Уже по спеке агент понял, что фича тяжело ложится. А я не понял: забыл, не уточнил, поспешил. Так ещё и не поверил сначала 😄

Приятно, что есть инструмент, который помогает меньше косячить. Не супер-пупер таблетка, конечно, но при правильном окружении получается очень интересно. Мне нравится, как работает SDD с агентами. Многие проблемы либо отлавливаются на ранних этапах, либо вообще не возникают. Своих тонкостей там тоже хватает, ещё предстоит разобраться. Но даже базовый уровень впечатляет.

А вы создавали что-нибудь через SDD?
👍4❤1
Начиная с какой-то версии Windows, вместо пароля можно использовать пин-код. Ввел последовательность цифр и система пустила.

Я какое-то время привыкал к тому, что ввод пин-кода не требует нажатия Enter в конце. Система сразу входит. Я же упорно продолжал нажимать Enter, пока не отвык окончательно.

Зато теперь, когда по воле случая меня заносит на Windows 7, я ввожу пароль и... жду чуда, тупо глядя в монитор 😁
😁5❤2
Игнор коммитов в git blame

Одна из причин, почему на некоторых проектах не спешат использовать автоформаттеры кода, - это нежелание испортить историю 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