[Baypiggies] padding variable assignments, why is it bad?

David Berthelot david.berthelot at gmail.com
Fri Aug 10 23:52:00 CEST 2012


So far I only read 1 pro, 1 con:
pro: readability (aligned variables make it clear)
con: vcs history can get confusing when looking for who changed a line

So may be it's time for vcs tools to evolve and become language aware.
Readability was historically pythonic otherwise why rely on
indentation instead of curly braces ?

On Fri, Aug 10, 2012 at 2:34 PM, Duncan McGreggor
<oubiwann at twistedmatrix.com> wrote:
>
> On Fri, Aug 10, 2012 at 12:01 PM, Wai Yip Tung <tungwaiyip at yahoo.com> wrote:
>>
>> Imagine your have some code like this
>>
>> row.name = encode(src.get('name'), 'xmlref')
>> row.description = encode(src.get('description'), 'xmlref')
>> row.enabled = encode(src.get('enabled'), 'xmlref')
>> row.last_access = encode(src.get('last_access'), 'xmlref')
>>
>> This looks a mumbo jumbo lines of code.
>>
>> However by aligning them into columns, the pattern become immediately
>> obvious.
>>
>> row.name        = encode(src.get('name'),        'xmlref')
>> row.description = encode(src.get('description'), 'xmlref')
>> row.enabled     = encode(src.get('enabled'),     'xmlref')
>> row.last_access = encode(src.get('last_access'), 'xmlref')
>>
>> It is clear that the code is applying similar operation on 4 items. It is
>> a lot easier to tell which of the 4 elements and if you should include more
>> or less into the list. It is a huge visualization improvement. PEP-8's
>> suggestion on this is not a good one in my opinion.
>>
>> The down side is it takes some effort to keep it neat and tidy. Of course
>> I have editor macro that does that. I think every decent text editor should
>> have some function to help people to align things.
>>
>> Wai Yip
>>
>
> In addition to the other problems with this, you have another problem:
> you've now got a separate coding standard for variables than you do for
> other code blocks. White space in Python is syntactically meaningful
> *initially* not in the middle or the end. You've just made it meaningful
> (and dependent upon the length of the longest variable name) *medially* and
> that's not Python.
>
> I actually find code that is column-aligned like that to be highly
> distracting. I find regular, PEP-8 code to be much more highly readable. And
> there was a time in the 90s when I was writing column aligned variables (for
> a short while!). Readability at the level of white space is simply a matter
> of getting used to (people that hate it enough usually don't end up using
> Python, when given the choice).
>
> d
>
> _______________________________________________
> Baypiggies mailing list
> Baypiggies at python.org
> To change your subscription options or unsubscribe:
> http://mail.python.org/mailman/listinfo/baypiggies


More information about the Baypiggies mailing list