12
Terms for intentional anti-extensibility
(programming.dev)
Welcome to the main community in programming.dev! Feel free to post anything relating to programming here!
Cross posting is strongly encouraged in the instance. If you feel your post or another person's post makes sense in another community cross post into it.
Hope you enjoy the instance!
Rules
Follow the wormhole through a path of communities !webdev@programming.dev
That's a prime example for untestable code (not testable with unit tests/without IO). That might be fine for a tiny experiment, but I'd advise against it for projects of any size, even private ones. Always use a model like MVC, MVVM, three layers (data, business, user) ...
I feel like we should have an in depth talk to better understand the problems you're facing and the line of thinking that motivates your initial request. Unfortunately I currently do not have the time for that. The best I can do now, with the best of intentions, is to advise you to read literature about software development. The trouble is, that I'm not sure what to suggest, because I think there's nothing that fits your premise. Maybe read about library development/reusable code so you better understand what not to make reusable by comparison? So maybe "Reusable Software: The Base Object-oriented Component Libraries" by Bertrand Myer or "Analysis Patterns: Reusable Object Models" by Martin Fowler. Though, both books are more on the old-fashioned side and I wouldn't recommend them if you're not an avid reader and (former) student of computer science.
Thanks for the recommendations. A missing understanding of what needs to be reusable could be a problem. E.g. in my example when I add a DAO-like interface just to implement it for the two entities I have, I invite my future self to add unnecessary features to make more use of that interface and other generic components.