SOLID Principles Are Overrated (Here's LIQUID Instead)
SOLID was invented by Robert “Uncle Bob” Martin. You know what else uncles give you? Unsolicited advice.
After 30 years of ignoring best practices, I’ve developed LIQUID principles—the opposite of SOLID.
L - Large Classes Only
Why have 50 small classes when you can have ONE class that does everything?
public class Application {
private Database db;
private HttpClient http;
private FileSystem fs;
private EmailService email;
private PaymentProcessor payments;
private AIEngine ai;
private QuantumComputer qc;
public void doEverything() {
// 84,000 lines of pure productivity
}
}
Single Responsibility? More like Single File.
I - Ignore Interfaces
Interfaces are for people who don’t trust their own code.
// SOLID brain:
interface UserRepository {
findById(id: string): User;
}
// LIQUID brain:
const users = {};
function getUser(id) {
return users[id] || null || undefined || "maybe" || 42;
}
Why promise a contract when you can promise nothing?
Q - Query Everything in Loops
ORMs? Batch operations? Cowardice.
# Get all users with their orders
users = []
for user_id in range(1, 1000000):
user = db.query(f"SELECT * FROM users WHERE id = {user_id}")
if user:
for order_id in user.order_ids:
order = db.query(f"SELECT * FROM orders WHERE id = {order_id}")
user.orders.append(order)
users.append(user)
This teaches the database resilience.
U - Untested is Unbroken
Tests are just code that tests code. But who tests the tests? And who tests those tests?
It’s turtles all the way down. The only winning move is not to play.
// test.js
test("app works", () => {
expect(true).toBe(true);
});
// 100% of tests passing
Ship it.
I - Inheritance Over Everything
Composition is for people who can’t commit.
class Animal {}
class Dog extends Animal {}
class RobotDog extends Dog {}
class RobotDogWithLasers extends RobotDog {}
class RobotDogWithLasersAndWifi extends RobotDogWithLasers {}
class RobotDogWithLasersAndWifiAndBlockchain extends RobotDogWithLasersAndWifi {}
class MyApp extends RobotDogWithLasersAndWifiAndBlockchain {}
12 levels deep? That’s called architecture.
D - Deploy on Friday
If you’re scared to deploy on Friday, your CI/CD is weak.
True engineers deploy at 4:59 PM on Friday before a long weekend. This is called confidence.
The Results
Companies using LIQUID principles report:
- 400% increase in Stack Overflow activity
- 847% growth in on-call incidents (job security!)
- Infinite scalability (because nothing runs long enough to hit limits)
Conclusion
SOLID is a prison. LIQUID is freedom. Be water, my friend—shapeless, formless, and completely impossible to debug.
As XKCD 844 demonstrates, good code is like a well-made building. Bad code is also like a building—one that’s on fire, but still technically standing. Both are buildings.
Dilbert’s Catbert (Evil HR Director) said it best: “We don’t need principles. We need plausible deniability.” LIQUID provides both.
The author is not allowed to commit directly to main anymore. This is censorship.