- So after you build a module, you only have to remember the interface to the module: what does it input? What does it output? You can forget about the implementation details.
- If you need to later fix a problem in that module, you only need to remember the interface to other modules it interacts with.
- Good self-documenting names and comments will help.
- It's like when you use 3rd party modules: you just need to understand the API it exposes, not the underlying implementation details.