| ▲ | tcdent 2 hours ago | |
Exactly. Being able to organize your code in a way that provides distinct responsibilities per crate is just good practice. And then the ability to enforce a formalized layer between crates and the way that they assemble into your application (i.e. the public API) is powerful for comprehension and maintainability. I go as far as documenting each crate with its own README that presents it as a standalone component with usage instructions, much like an open source library, even if it's only ever used in a single system. | ||