35 points SantiDev 2 hours ago 23 comments
Robert Martin, the author of Clean Code, tweeted the following:
> I’m significantly older than you. I started coding in the late 60s. My current strategy is to not read any of the code written by my agents. That’s the only way I can take advantage of their productivity. What I do instead is to surround the agents with extreme constraints. Unit tests, gherkin tests, QA procedures, quality metrics, mutation testing, test coverage, and a plethora of others. In the end, I have very high confidence in the code they produce because they’ve had to run the gauntlet of all of my constraints and tests.
0xedwen 1 hour ago | parent
mirmor23 1 hour ago | parent
this is definitely a better outcome since all the human effort now shifts to spec, design, test scenarios tailored to the domain - as it should be.
having seen my share of human slop through decades (mine included), finally it's a relief to not have to deal with devs that don't have high standards, and the endless arguments/politics that ensue.
with llm it's just a text file away from compliance.
daaaaaaan 1 hour ago | parent
reliabilityguy 1 hour ago | parent
I like optionals, but I see his point too.
ndriscoll 35 minutes ago | parent
This does not require a new language feature every time there is a bug, as he asserts. It requires language features to let you be descriptive in your type definitions so that invalid program states don't exist by definition. You literally cannot write one down. It's the same idea as saying you can't assign a Monkey to an int64. Scala's ZIO also shows that in fact you can type-infer whether a given path will produce errors or nulls, so you don't need to have perfect knowledge up front or go back and change tons of code if that changes. Errors can automatically propagate, and you need to handle them once, somewhere. Checked exceptions were a fantastic idea; you just need to let the compiler infer them everywhere.
relativeadv 35 minutes ago | parent
jvanderbot 1 hour ago | parent
rob74 15 minutes ago | parent
a34729t 58 minutes ago | parent
paxys 37 minutes ago | parent
Any opinion that starts with such a blatant appeal to authority can safely be ignored.
lovich 17 minutes ago | parent
> Started programming in 1983. Old?
I took that sentence as asking if he was old because he couldn’t trust AI and uncle bob brought up that he was much older and trusted the AI output because he trusted his constraints and test harnesses
munk-a 15 minutes ago | parent
Robert Martin started coding in the late 60s and then became an author and a software design consultant - his statement defines the start date of his relevant experience but doesn't speak to the end date of that experience or the density of his experience. He has a wealth of experience but not in a field that's relevant to his comment.
I think an appeal to authority is a good basis for extending a bit of extra trust to statements - but you should always verify things yourself.
Cider9986 9 minutes ago | parent
anvuong 15 minutes ago | parent
remywang 15 minutes ago | parent
jubilanti 14 minutes ago | parent
nitwit005 14 minutes ago | parent
Which, is fine, but not what most people are hoping for with these tools.
jordemort 10 minutes ago | parent
hn_user82179 8 minutes ago | parent
andai 10 minutes ago | parent
The really interesting thing to me is that formal verification wouldn't have helped there either -- it would have just written a mathematical proof of the correctness of the backwards feature.
wodenokoto 6 minutes ago | parent