Re:Avoiding Premature Software Abstractions
by rapnie on Sunday November 21, 2021 @02:08PM
(#29298806)
> Going further, the more granular your mental model (I.e the more abstractions), the higher the chance that other teammates’ mental models will differ.
Agree to an extent. What I tried to explain in my other comment is that having full abstraction here, half-way abstraction there, and a different partial abstraction somewhere else also weighs on the mental model you need to have of the codebase.
That might be an argument to muster the dilligence and discipline to have more of the same abstractions consistently for similar concepts (excepting those that are obviously superfluous, of course).
A big lesson learned for me has been that there are multiple ways to do something - not everyone will have the same mental model as me. Going further, the more granular your mental model (I.e the more abstractions), the higher the chance that other teammates’ mental models will differ.
I still like abstractions for testability reasons - perhaps this is the right smell to check for when determining whether to split something up.