4 ms·
A combination of: * Realistic integration tests that cover as many user stories as possible. * Raise exceptions ASAP for any kind of invalid data or state (co
by crdoconnor 9y ago
A combination of:
* Realistic integration tests that cover as many user stories as possible.
* Raise exceptions ASAP for any kind of invalid data or state (could be checking types, but could also be checking for file/directory existence). Could also be pip installing and using 'schema'.
* Do not build on poor quality modules and strive to decouple and uninvent poorly reinvented wheels.
* Just in general: loosely couple everything.
I don't see this as a static typing issue at all. Static typing only helps with a small part of the problem and it usually does that at some expense (usually more verbose & less flexible code).
I'm a little skeptical that super-strong type systems like haskell necessarily help all that much either. They clearly help eliminate classes of bugs, but the overhead is very high (the amount of everyday software written in haskell is seemingly small relative to its apparent popularity).