[BangPypers] "The Python I would like to see" - Armin Ronacher

Noufal Ibrahim noufal at nibrahim.net.in
Tue Aug 19 09:15:00 CEST 2014

On 2014-08-19 12:31, Saager Mhatre wrote:

> That's just a question of testing strategy. If you're writing 
> 'elaborate'
> tests at every layer, you're probably validating too much or exercising 
> too
> much of the system at each layer of testing. The cartesian product of 
> tests
> required to validate every implementation at a level of abstraction is
> inevitable if you want confidence in all those implementations; but 
> these
> need to be limited to each pair of collaborator as far as possible so 
> that
> so single test becomes too elaborate. But that's a different discussion
> altogether.
> However, I always got the sense that dynamic languages made this both
> easier and hard at the same time. Easier in that you didn't have to 
> declare
> explicit interfaces between layers; harder in that all barking ducks 
> are
> only identified at runtime!

I suppose so. My epiphany was that tests, at the end of the day, are 
code. They need to be maintained, refactored, cleaned up, optimised, 
cajoled and worshipped just like one does with the actual application. 
The less code I write, the better.

So, yes, it's a tradeoff. Once upon a time, a more naive version of 
myself loved the freedom that I got from this kind of thing. The cynical 
version of myself that's typing this email is not so sure anymore. He, 
at some level, feels that the extra headache of specifying interfaces is 
a better investment than using a dynamic language and writing tests to 
validate all the possible inputs.

> I'm glad somebody finally said this; and doubly so that it was Noufal! 
> ;)

I'm surprised that you've never heard this from me before. It's 
something that I decided on a LONG time ago.

More information about the BangPypers mailing list