

most things should have an alternate implementation, just in the unit tests. imo that’s the main justification for most of SOLID.
but also I’ve noticed that being explicit about your interfaces does produce better thought out code. if you program to an interface and limit your assumptions about implementation, you’ll end up with easier to reason about code.
the other chunk is consistency is the most important thing in a large codebase. some of these rules are followed too closely in areas, but if I’m working my way through an unfamiliar area of the code, I can assume that it is structured based on the corporate conventions.
I’m not really an oop guy, but in an oop language I write pretty standard SOLID style code. in rust a lot of idiomatic code does follow SOLID, but the patterns are different. writing traits for everything instead of interfaces isn’t any different but is pretty common



they’re different files generally, the only client that will automatically request them is a debugger.
you turn them off because you don’t want to expose your full source code. if you would be ok making your webpage git repo public then making sourcemaps available is fine.