Hi,

I made the suggested fixes.  Comments below:

On Thu, 2008-07-24 at 08:38 -0500, John Hunter wrote:
> On Thu, Jul 24, 2008 at 7:31 AM, David Kaplan <[EMAIL PROTECTED]> wrote:
> 
> > I committed the changes to clabel (r5830).
> 
> Hey David -- thanks for these fixes.  I noticed a couple of things I
> want to comment on
> 
> * avoid the ternary operator, as in
> 
>             # Figure out label rotation.
>             rotation,nlc = cs.calc_label_rot_and_inline(
>                 slc, imin, lw, lc if self.inline else [],
>                 self.inline_spacing )
> 
> since this requires python2.5.  I replaced this, and a similar
> construct in contour.py, so please make sure I did the right thing
> 

The reason I used this was that I saw the following line in contour.py
(line 325):

lc = [tuple(l) for l in linecontour]

Doesn't this also require 2.5 or is the if different than the for?
Should this also be changed?

> * avoid needless *args, **kwargs usage.  We do this all the time in
> pylab and to a lesser extent in axes.py because we are passing the
> function call on to another layer.  In that case, at least document
> the proper signature as the first line in the docstring.  But unless
> we need it, avoid it, eg in

I removed all this arbitrary argument stuff.  I was thinking that if we
ever invented a better mouse trap, this would let us automatically pass
that on to GUI's we haven't written specific functions for yet.  But we
are unlikely to invent a better mouse trap.

> 
> * Using an empty list in a python kwarg as the default is a gotcha, as in
> 
>     def calc_label_rot_and_inline( self, slc, ind, lw, lc=[], spacing=5 ):
> 
> The reason is that if the function mutates the list, this often leads
> to unintended consequences as the list is module level and thus shared
> between instances and method calls.  The standard idiom for mutable
> (lists and dicts) keyword args s
> 
>     def func(x=None):
>         if x is None: x = []
> 
> I have fixed this in contour.py
> 

I don't really understand how this can be a problem, but it probably
isn't that important unless you feel like enlightening me.

Cheers,
David

> JDH
-- 
**********************************
David M. Kaplan
Charge de Recherche 1
Institut de Recherche pour le Developpement
Centre de Recherche Halieutique Mediterraneenne et Tropicale
av. Jean Monnet
B.P. 171
34203 Sete cedex
France

Phone: +33 (0)4 99 57 32 27
Fax: +33 (0)4 99 57 32 95
http://www.ur097.ird.fr/team/dkaplan/index.html
**********************************


-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-devel mailing list
Matplotlib-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to