3 ms·
I disagree completely. Just because you've made an interface doesn't mean it's a good one nor that it will solve your problem. You may also not understand how t
by tel 13y ago
I disagree completely. Just because you've made an interface doesn't mean it's a good one nor that it will solve your problem. You may also not understand how that interface interacts very thoroughly. Most of programming is figuring out the right interfaces.
It's one thing to name a few example inputs and outputs of a single function, it's another thing to think about how a single function interacts with itself (such as what's needed to write a quickcheck property like "for all strings, `reverse . reverse == id`"), it's yet another thing to think about how collections of related functions interact (like seeing some Category laws), and it's a whole set of further things to see all that thoroughly enough to encode it in a logic system.
- contingencies 13y agoErr, I'm not saying understanding the problem is irrelevant. What I'm saying is that it's not an issue that you need to be overly conscious of in testing since it's not something you can test for and properly loosely-coupled code will not exhibit dependencies on architectural assumption.
- tel 13y agoI believe that most of the point of testing is to have a good way to spend time thinking about the problem and the interface you're creating.