Skip to content

SIMPLE Architecture: What You Need to Know (Quick Start)

Hans edited this page Jan 21, 2026 · 2 revisions

SIMPLE is scientific software first. Architecture exists to protect that science.

1. Code Is for Humans First

Computers run code — people read, change, and maintain it. Good SIMPLE code is:

  • Easy to read and reason about
  • Easy to extend without breaking existing behavior
  • Explicit about what it does and why

If something is hard to understand, it will be hard to maintain.

2. Keep the Science at the Center

SIMPLE follows a clean architecture mindset:

  • Scientific algorithms and domain logic come first
  • UI, file I/O, formats, and performance optimizations are details
  • Details should never leak into or dictate scientific code

This allows SIMPLE to evolve (new workflows, UIs, formats) without rewriting core logic.

3. Minimize Complexity Relentlessly

Complexity kills productivity. It comes from:

  • Too many dependencies
  • Unclear naming and structure

Small messes accumulate quickly. Clean as you go. Always leave the code better than you found it.

4. Naming Is Design

Good names explain intent. Bad names hide design problems. If you can’t name something clearly, it may:

  • Be doing too much
  • Need to be split
  • Need a better abstraction

Prefer clarity over cleverness or premature optimization.

5. Use SOLID as a Mental Checklist

You don’t need to memorize acronyms — just remember:

  • One responsibility per module
  • Extend behavior without modifying stable code
  • Depend on abstractions, not concrete details
  • Keep interfaces small and focused

These ideas show up repeatedly across SIMPLE modules.

6. Working Code Is Only the Beginning

Getting something to work is not the finish line. After it works:

  • Improve tests
  • Refactor
  • Simplify

Fast hacks today become slow progress tomorrow.

7. Practical SIMPLE Rules of Thumb

  • Prefer deep modules: simple interfaces, powerful internals
  • Avoid duplication (DRY)
  • Don’t add features “just in case” (YAGNI)
  • Separate what a module does from how it does it
  • Ask for reviews early — architecture improves through discussion

Final Thought

Good architecture makes SIMPLE:

  • Easier to understand
  • Easier to change
  • Easier to trust

That matters more than any single feature.