top of page
Search


Code Rule #03: Be either declared final or abstract
In modern OOP, every class is a decision. Should it be reused? Extended? Or locked down? This article introduces a simple but powerful rule: every class should be either final or abstract — never left open by accident. You'll learn why this matters for architectural clarity, how different languages support it, what design patterns and principles it promotes, and how it even improves AI-assisted development. A must-read for developers who value clean boundaries, safe code, and

Mateusz Roguski
Apr 197 min read


Code Rule #02: Annotations Are Not Architecture
Annotations are convenient — but convenience is not architecture. In this article, we explore 10 hidden drawbacks of overusing annotations and attributes, how they break core design principles, and what to do instead to build systems that are clear, testable, and AI-friendly.

Mateusz Roguski
Apr 188 min read


Code Rule #01: Avoid private methods
Private methods might feel clean, but they often hide complexity, block reuse, and break testability. In this post, we explore why you should avoid private methods — and what to do instead for clearer, more maintainable, AI-friendly code.

Mateusz Roguski
Apr 1810 min read


The AI Era Demands We Return to Solid Software Engineering
AI is rewriting the rules of software development — but without solid engineering, it's building on sand. This article explores why clean architecture, explicit contracts, and disciplined structure are more important than ever in the age of intelligent tools. Clarity isn’t a luxury — it’s how we collaborate with machines.

Mateusz Roguski
Apr 162 min read
bottom of page
