Uncle Bob: It's Over
61–70 of 93 posts
Re: Uncle Bob: It's Over
#62Earlier quoted context omitted.
I mean I wasn’t sitting around unproductively waiting for 30 minute CI runs to finish before LLMs came along, either. I also like to use LLMs for background work on iterative tasks, but the way some people talk about work in the days before LLMs make me realize how we’re arriving at these claims that LLMs make us 10X more productive. If it took someone all day to do a few minutes of active work then I could see how L…
Count yourself as one of the lucky few that can pay a 0 minute context switching price to switch between whatever other productive work you were doing and debugging CI. Most people I speak to remark that continually switching between unrelated tasks significantly diminishes their productivity.
Nobody is staring at the screen for 30 minutes in deep concentration while they wait for that turn to complete. They are context switching to something, but maybe it’s Hacker News or Reddit.
There is always a context switch in scenarios like this.
Re: Uncle Bob: It's Over
#63And now you just played yourself, by creating a morass of tiny functions. Well tested (CRAP says so!) And impossible to understand how they compose together.
AI will happily return the next token and ruin your codebase, if you ask it.
Re: Uncle Bob: It's Over
#64"it can chop up all your functions into tiny functions..." And now you just played yourself, by creating a morass of tiny functions. Well tested (CRAP says so!) And impossible to understand how they compose together. AI will happily return the next token and ruin your codebase, if you ask it.
Re: Uncle Bob: It's Over
#65Re: Uncle Bob: It's Over
#662) https://blog.cleancoder.com/uncle-bob/2017/10/04/CodeIsNotTh...
Re: Uncle Bob: It's Over
#67And speaking of agents writing tests, I have an ask. The tests agents love to write are in a lot of ways like human written tests, perfunctory and smelly. They are there to check coverage or prompt checkbox, but they barely stress the system under test. I often find that the tests are faking and mocking so many inputs, methods, and side effects, that they aren't testing anything at all. Asking the agent to write the tests first so that they the underlying implementation is more testable has yielded no results.
What has worked for people to get agents to write more testable implementations and better tests?
PS. Reacting to Uncle Bob, I found metric driven agentic refactors just push complexity to outside the scope of the metric. I am finding I need to actively guide the agents for the refactors to actually improve things without increasing the entropy of the codebase.
Re: Uncle Bob: It's Over
#68The craziest thing about AI is you can just try it yourself and check if the claims are true. I use Claude code and codex daily. They have become an integral part of my workflow. There is no task that takes me a day that they can complete in five minutes. Even with the lightning fast progress being made, it looks like LLMs are a decade or more away from being that good. If AI can do your job for you, you should be th…
So the effect is just merely some kind of acceleration of "boilerplate code writing", which is very impressive for beginner coders who are mostly doing automateable, trivial tasks, but much less so once you start doing real concurrency / threading / embedded / etc work
Re: Uncle Bob: It's Over
#69However this conclusion made no sense as we had similar scenarios across our project that worked flawlessly. After intervening I determined the root cause was a combination of an async issue with the production code and some incorrect mocking that was covering up the async issue.
It never occurred to the AI agent to do some simple cross examination before essentially throwing in the towel?
Re: Uncle Bob: It's Over
#70Earlier quoted context omitted.
Amazing tweet. https://x.com/stevesi/status/2050325415793951124 Here's how history rhymes with this logic. The development of compilers v writing assembly language was not without a very similar "controversy" — that is, are the new tools more efficient or less efficient. The first compilers were measured relative to hand-tuned assembly language efficiency . The existing world of compute was very much "compute bound"…
> Also worth noting, early compilers (all through the 1980s) routinely had bugs that generated incorrect code. Incorrect. They had bugs that generated incorrect code. They didn't routinely have bugs that generated incorrect code :-/ And the bugs they had were reproducible.