Skip to content

rodmoioliveira/dreadful-clean-code

Repository files navigation

dreadful clean code

Dreadful Clean Code is an awesome list of rebuttals to a dreadful idea.

index

Hot takes for lazy readers

back^

It's just marketing

back^

SOLID is a money-making instrument, not an instrument to make code better.

SOLID Is OOP for Dummies by Yegor Bugayenko

It closely relates to OOP and its delusional silver-bullet problem-solving promises

back^

The OO design concept initially proved valuable in the design of graphics systems, graphical user interfaces, and certain kinds of simulation. To the surprise and gradual disillusionment of many, it has proven difficult to demonstrate significant benefits of OO outside those areas.

Unix and Object-Oriented Languages by Eric Steven Raymond

It's a good selling product to make money

back^

If a language technology is so bad that it creates a new industry to solve problems of its own making then it must be a good idea for the guys who want to make money. This is is the real driving force behind OOPs.

Why OO Sucks by Joe Armstrong

It leads to horrible and unmaintainable code

back^

So I'm sorry, but for something like git, where efficiency was a primary objective, the "advantages" of C++ is just a huge mistake. The fact that we also piss off people who cannot see that is just a big additional advantage.

If you want a VCS that is written in C++, go play with Monotone. Really. They use a "real database". They use "nice object-oriented libraries". They use "nice C++ abstractions". And quite frankly, as a result of all these design decisions that sound so appealing to some CS people, the end result is a horrible and unmaintainable mess.

But I'm sure you'd like it more than git.

Linus Torvalds on C++

I have never seen an OO principle which, if I applied it to my code, would improve it in any way. On the contrary, in my humble opinion it would make it more cumbersome, less reusable, less flexible and less maintainable.

After reading all these OO principles and best practices I have concluded that they were written by people who have little or no experience of web-based database applications, so all their "advice" is not worth the toilet paper on which it was written. Until such time as they gain that experience and come up with ideas which are demonstrably better than mine I shall continue to ignore them.

Not-so-SOLID OO Principles by Tony Marston

It's horrible performance-wise

back^

But for a certain segment of the computing industry, the answer to “why is software so slow” is in large part “because of ‘clean’ code”. The ideas underlying the “clean” code methodology are almost all horrible for performance, and you shouldn’t do them.

"Clean" Code, Horrible Performance by Casey Muratori

The industry best practices are still revolving around the object oriented programming which does not perform well on a modern hardware.

The compiler will optimize that away by RoyalSloth

It's just unverifiable and unfalsifiable

back^

The "Clean code" ideals are a succinct offender. Appealing mostly to vague, unverifiable, and unfalsifiable measures of how good code looks, or how easy it is to read and understand. It forgets the physical foundations of our computing systems. Preferring subjective appreciations of "cleanliness", supposed to make the practice of software programming more appealing to the engineer, as opposed to trying to provide the best possible technology to the users.

Lack of Falsifiability in Software Engineering by Vicente Ferrari Smith

All that is SOLID melts into air

back^

The Single-responsibility Principle

back^

The Open/Close Principle

back^

Liskov Substitution Principle

back^

Interface Segregation Principle

back^

Dependency Inversion Principle

back^

Clean Code Madness

back^

Object-Oriented Programming Madness

back^

Out of the SOLID pit

back^