Principles

Feature serves a Single Purpose

Favor creating as many of them as you wish rather than complicating a single one.

Job executes a Single Responsibility

No job should do two responsibilities at a time, it will only get confusing the more you do it.

Be aware that a Single Responsibility can involve multiple related functions as long as those functions are part of the same cohesive responsibility.

Modules shouldn’t cross

Each module should be self-contained and should not perform tasks that belong to other modules.

Apply Decoupling Techniques

Using Shared Utility and Helper Classes for Decoupling. It also enhances Code Reusability and Maintainability.

Features shall not call other features

Run as many jobs as you like, but never a feature.

Jobs shall not call other jobs

This is your business logic, keep it concise and organize by avoiding nesting and coupling hell.

Write code that humans can read

Machines will run it nonetheless, it is us who will suffer.

Updated on