code review

Martin P. Hellwig martin.hellwig at gmail.com
Sat Jun 30 17:48:16 EDT 2012


On Saturday, 30 June 2012 21:30:45 UTC+1, Alister  wrote:
> On Sat, 30 Jun 2012 21:38:58 +0200, Thomas Jollans wrote:
> 
> > On 06/30/2012 08:39 PM, Thomas 'PointedEars' Lahn wrote:
> >> Peter Otten wrote:
> >> 
> >>> If you spell it
> >>>
> >>> def is_valid_password(password):
> >>>     return mud.minpass <= len(password) <= mud.maxpass
> >>>
<cut>
> Surely this fits perfectly with the lines 1 & 7 in the zen of python 
> (import this)
> "Beautifull is better than ugly" and "Readability counts"
> 
Agree, however I like to stress the "don't make me unnecessary read with care" rule. Meaning if I read that line, I have to read it carefully to make sure I understand what is happening, the following would not do that although syntax wise equal:

def length_between_min_max(password):
   return(mud.minpass <= len(password) <= mud.maxpass)
   

def is_valid_password(password):
   valid = True

   if not length_between_max_min(password):
      valid = False

   if some_other_test(password):
      valid = False


  return(valid)

This I can read, typically I would not even read what the function length_beteen_max_min does as long as there is no bug in it because, it is perfectly english clear what the intention is.

-- 
mph



More information about the Python-list mailing list