Member-only story

I Will Reject Your Pull Request If You Violate These Design Principles

4 Principles for Clean Code That Won’t Get Your PR Rejected

Lorenz Hofmann-Wellenhof
Level Up Coding
7 min readJan 28, 2025

Generated with flux-1.1-pro: Generate me a water color image where there is a beige background and a handwritten red text that says: “Changes requested!”.

Not a member? Read for free here!

After reviewing hundreds of PRs and rejecting a good bunch, I went hunting for universal rules to prevent code complexity.

Like most developers, this has been a learning journey — I’ve written my share of messy modules too. But understanding core design principles could have saved me from costly mistakes.

Here’s the fundamental truth: Good software design minimizes complexity. But to fight complexity, we first need to understand our enemy.

Complexity: The Enemy of Software Systems

To design clean modules, we first need to understand complexity’s nature.

Complexity doesn’t emerge from a single bad decision. Instead, it grows gradually over time — like a slow-spreading disease — unless we actively fight against it.

In software development, complexity is a natural byproduct that accumulates when left unchecked. Just as gardeners regularly prune plants to prevent overgrowth, we must continually refactor and simplify our code to keep complexity at bay.

Create an account to read the full story.

The author made this story available to Medium members only.
If you’re new to Medium, create a new account to read this story on us.

Or, continue in mobile web

Already have an account? Sign in

Written by Lorenz Hofmann-Wellenhof

👨‍💻 Software Eng @ AI unicorn 🇺🇸 Sharing my lessons for non-stop growth in AI, coding, & life optimizations. I build things & put them on the Internet.

Responses (16)

What are your thoughts?

This is why the facade pattern is neat

You got me at hide complexity

Good sw design is an art. There are basics you can learn (prepare your paints, prepare your canvas, study perspective, make sketches..) but there is no substitute for experience and a good eye.