I also found myself agreeing with everything written in this blog post. For the record I have read his famous Clean Code, Clean Coder and Clean Architecture and I don't find them all that meaningful.
:-)
I had to sell a portion of the code a while back. Embarrassed for anyone to see it, I tried to focus on just one thing: make it easy to read and follow. Especially since the client was buying the source code.
It was really freeing. I didn’t need to care about all the industry "standards". By presenting it as "easy to read" I could unburden myself of intellectual contests. They do have merit and I appreciate those smarter than myself. But for this situation, the client was at liberty to turn the code into anything they wanted. My code must be the standard for readability and it was fast enough. They added "const" to everything and that was probably proper.
These manifestos are really just guide rails which without could otherwise send you over cliffs. Guides are not laws and rules to be adhered to literally. They are to make you think about why you have twenty levels of inheritance, ten function parameters, and abstractions that don't apply to the domain you are modeling.
If I was to instruct a young programmer today, I would steer them more towards being "simple" and less towards "impressive". Being impressive and clever has its place. Too much, however, and no one will know what you were doing.
Meanwhile I count the days go by as people fight with linters and otherwise muddy git history trying to achieve an "A" "code quality" score. It's amazing people are paid to do this.
I'm not the only one who is skeptical of this toxic, holier-than-thou and dangerous attitude.
Removing braces from if statements is a great example of another dangerous thing he advocates for no justifiable reason
https://softwareengineering.stackexchange.com/questions/3202...
Which caused the big OSX/iOS SSL bug in 2014, see https://www.imperialviolet.org/2014/02/22/applebug.html
This link and thread on hackernews is good too
https://news.ycombinator.com/item?id=15440848
>The current state of software safety discussion resembles the state of medical safety discussion 2, 3 decades ago (yeah, software is really really behind time). > >Back then, too, the thoughts on medical safety also were divided into 2 schools: the professionalism and the process oriented. The former school argues more or less what Uncle Bob argues: blame the damned and * who made the mistakes; be more careful, damn it. > >But of course, that stupidity fell out of favor. After all, when mistakes kill, people are serious about it. After a while, serious people realize that blaming and clamoring for care backfires big time. That's when they applied, you know, science and statistic to safety. > >So, tools are upgraded: better color coded medicine boxes, for example, or checklists in surgery. But it's more. They figured out what trainings and processes provide high impacts and do them rigorously. Nurses are taught (I am not kidding you) how to question doctors when weird things happen; identity verification (ever notice why nurses ask your birthday like a thousand times a day?) got extremely serious; etc. > >My take: give it a few more years, and software, too, probably will follow the same path. We needs more data, though.
This one I disagree with. We frequently read code in a browser, as part of a pull request or just exploring a repo.
I think it would still be a valuable advice compared to none at all.