3 ms·
Identify when you're solving a problem that isn't a one off. Solve it in a way that also works for the other situations you expect it is needed (i.e. make absol
by jbms 7y ago
Identify when you're solving a problem that isn't a one off.
Solve it in a way that also works for the other situations you expect it is needed (i.e. make absolutely everything that's unique to this first implementation a configuration item outside the unit or callable via an abstraction/extra interface from the specific use). This is easier to do if designing something for multiple places at once.
i.e. Make it modular from the start. This requires more work up-front.
I work in embedded so we reuse: device drivers, MCU abstraction layers, communication protocols, key (to our business) areas of application level logic.
Reusing components is about reusing design, which ultimately means you're reusing/extending a specification as well. If up front you can define the specification to be standard for a bunch of projects you can plan for a lot of reuse and justify the upfront work.