kj a écrit :
I'm will be teaching a programming class to novices, and I've run
into a clear conflict between two of the principles I'd like to
teach: code clarity vs. code reuse.  I'd love your opinion about
it.

(snip - others already commented on this code)

Here's the rub: the code above is more general (hence more reusable)
by virtue of this trick with the sense parameter, but it is also
a bit harder to understand.

Perhaps better naming (s/sense/direction/g ?) and a small comment could help ?

This not an unusual situation.  I find that the processing of
abstracting out common logic often results in code that is harder
to read, at least for the uninitiated...

IOW : the notion of "clarity" depends on the context (including the reader). Anyway, there are algorithms (or implementations of...) that are definitly and inherently on the 'hard to read' side - well, complexity is something you have to learn to live with, period. The key is to try and make it as simple and readable *as possible*.

Also, factoring out common code - or even slightly complex code - often makes _client_ code (much) more readable.

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to