[ 
https://issues.apache.org/jira/browse/AVRO-199?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12779746#action_12779746
 ] 

Jeff Hammerbacher commented on AVRO-199:
----------------------------------------

Yo,

Neither PEP 8 nor "Code Like a Pythonista" have an opinion on this matter. 
Google's python style guide says:

{noformat}
Use """ for multi-line strings rather than '''. Note, however, that it is often 
cleaner to use implicit line joining since multi-line strings do not flow with 
the indentation of the rest of the program:

No:

    print """This is pretty ugly.
Don't do this.
"""

Yes:

    print ("This is much nicer.\n"
           "Do it this way.\n")
{noformat}

I'm not sure I agree, in this case, because their "Yes" implementation destroys 
the natural indentation of the hierarchical data structure, as does your 
"instead" implementation.

I've tried to stick to two styles: single line and multi-line. You seem to be 
advocating a third style: multi-line, single indentation. I'm inclined to keep 
the number of styles to two. If you feel strongly about your preferred style, I 
am happy to make the change and not hold up further refactoring.

Thanks,
Jeff

> Clean up schemas in testio.py
> -----------------------------
>
>                 Key: AVRO-199
>                 URL: https://issues.apache.org/jira/browse/AVRO-199
>             Project: Avro
>          Issue Type: Improvement
>          Components: python
>            Reporter: Jeff Hammerbacher
>            Assignee: Jeff Hammerbacher
>         Attachments: AVRO-199.patch, AVRO-199.patch
>
>
> As discussed on the mailing list, it would be nice to leverage Python's 
> expressive string syntax to not perform lots of escaping of Avro schemas 
> defined in code and make the schemas more readable.
> This patch cleans up schemas in testio.py to make them more readable. Note 
> that to get this to pass the tests, I had to implement a new 
> "remove_whitespace()" helper function to replace the current naive approach 
> to replacing whitespace (s.replace(" ", "") is not going to cut it). I also 
> object to the round-trip string conversion test, as noted in the comments to 
> this patch, but I'll save that change for another patch to better separate 
> concerns.
> If this code change is deemed useful, I'll convert the rest of the schemas in 
> the Python code to leverage Python's string formatting. I have a ridiculously 
> naive tool that I used for schema conversion that I threw up at 
> http://github.com/hammer/avro-tools/blob/master/pprint_avsc for those 
> interested.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to