Jun. 8th, 2025

amarao: (Default)
Внезапно, языки программирования с высокими перилами (большим количеством проверок и защит от nonsensical code) для vibe coding куда полезнее, чем языки с расслабленными правилами, которые принимают что попало.

Если код не компилируется, вайбинг продолжается до тех пор, пока не компилируется.

А вот в условных питонах и js'ах всякие редкие условия (обработка ошибок, неожиданные типы данных в переменных и т.д.) полностью на совести LLM, а как мы знаем, no consciousness, no conscience, так что...

Возможно, развитием вайб-кодинга станет появление языка программирования максимального уровня фашизма, с минимумом срезанных углов. Никаких неявных typecasting'ов (даже в безопасных случаях), никакого operation precedence (писать всё в скобках). У того же Rust'а - отказ от неявного clone (надо? пиши clone) и т.д.

Может быть, не языка программирования, а набора правил, которые будут энфорситься на уровне компилятора (--no-sugar).
amarao: (Default)
Во.

Промпт агенту:

> Nope. The problem is that there is custom implementation for validation, which should not be. It should not be part of the trait.

> recent refactoring removed generic over duocards, so we no longer need multiple implementation for deck id validation. Move this code away from all traits, make it just a normal function.

И эти люди говорят про вайб-кодинг для не-программистов?
amarao: (Default)
Добавил поддержку json'а.

Съело тот же день, как и написать первую часть. Ощущаю, что продуктивность в сильно меньше (мой эстимейт json'овой работы - примерно 2-3 дня, то есть x3 акселерация, в сравнении x5-x15 в первый день).

Проблемы:

1. пропущенная галлюцинация в спеке, приведшая к конфликту между PRD и spec, из-за чего разные куски кода тащили в разные стороны (IRL? у меня дежавю).
2. Ужасающие выкрутасы вокруг дженериков в трейтах. Json часть написалась меньше, чем за час, а вот принесение в main.rs было болью. Там сейчас неоптимально, зато легко исправлять.

Часть времени было потрачено на небольшой рефакторинг, в ходе которого я понял, что робот был прав

```
pub struct TransferProcessor<C, B>
where
C: DuocardsClientTrait,
B: OutputBuilder,
{
client: C,
builder: B,
duplicates: DuplicateHandler,
stats: TransferStats,
deck_id: String,
}
```

А я нет. Потому что client нужен не для ложной универсальности, а для моков в тестах. Примерно через час изничтожения я понял, что сделал зачем-то хуже, чем было, откатился.

Является ли сargo clippy --fix --lib -p duoload вайб-кодингом или нет?

Сейчас пытаюсь человечный рефакторинг сделать (через vibe, через vibe).

PS У cursor что-то сломалось. Они сказали, что автокомплиты потрачены (я их особо и не юзал), а вот requests продолжают работать на бесплатном тарифе, хотя там их сильно за сотни.

Да, мой стиль vibe-кодинга, это задачи, а не зажатый tab.

Если кто-то ссылку на результат пропустил, он тут: https://github.com/amarao/duoload


Upd: Первый раз в жизни у меня был коммит на два workflow, оба из которых прошли безупречно с первого раза. Первый раз!

https://github.com/amarao/duoload/commit/5cea4371b21e113b65b8a965d5e82d3b2e9fe625

Profile

amarao: (Default)
amarao

August 2025

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Aug. 28th, 2025 05:52 pm
Powered by Dreamwidth Studios