2 ms·
How should we decide whether to abstract something into a function? Abstract aspects likely to change, via interfaces that aren't, says Parnas (On the Criteria
by hyperpallium 7y ago
How should we decide whether to abstract something into a function?
Abstract aspects likely to change, via interfaces that aren't, says Parnas (On the Criteria To Be Used in Decomposing Systems into Modules, https://www.win.tue.nl/~wstomv/edu/2ip30/references/criteria_for_modularization.pdf https://www.win.tue.nl/~wstomv/edu/2ip30/references/criteria...)
abstract-unless-leaky: hide information you don't need.
In practice, writing tests helps me see what is naturally part of a module vs. a usage of it. You want the module to contain everything it needs to do its job, and nothing else. But this assumes the modularization (its "job").