|
|
|
|
|
by afarrell
2108 days ago
|
|
Keep in mind that tests & test tooling serves developer ergonomics purposes beyond ensuring that the software works: 1. Reproducibly setting up the conditions to trigger a bug. 2. Explaining how a module expects to be used. 3. Sketching the design of a module's interface & affordances. 4. Nudging away from designs with poor encapsulation. 5. Soothing the anxiety of a developer who is worried they are not making hour-by-hour progress. 6. Reminding a developer what task they were in the middle of when their brain dumps Working Memory due to an interrupt ...or just randomly OOMKills mid-day because a baby woke them up at 3am. |
|
In fact, types are better for #6 than tests, because they have lower overhead, so they are more likely to be complete at the interruption.