Code Concepts¶
This section is the conceptual overview of the Particula codebase—what design ideas we follow, why we follow them, and where you can dig deeper.
If something feels unclear, ask and contribute to an issue or PR—improving the docs is a meaningful contribution.
Why read this?¶
- You want to extend Particula without breaking existing work.
- You need to audit a calculation and trace where a number comes from.
- You plan to prototype a new physical model and wonder which files to touch.
Quick tour¶
| Topic | Start here | One–line takeaway |
|---|---|---|
| Philosophy | WARMED principle | Code must be Writable, Agreeable, Readable, Modifiable, Executable, Debuggable. |
| Dual Paradigm | Design Patterns | Pick functions for notebooks, builders + strategies for experiments. |
| OO cheat‑sheet | Object‑Oriented Patterns | Strategy, Builder, Factory … explained with aerosol examples. |
Naming rules (TL;DR)¶
- Functions that return a value →
get_<quantity>() - Classes that encapsulate a pattern →
<Descriptor><PatternName>
Keeping to these names makes grep, IDE auto‑completion, and LLM help far more
effective for beginners and experts alike.