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

Duncan McGreggor oubiwann at twistedmatrix.com
Fri Aug 10 23:34:39 CEST 2012


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/baypiggies/attachments/20120810/547a6d49/attachment-0001.html>


More information about the Baypiggies mailing list