[ckan-dev] Single vs double quotes

Toby Dacre toby.okfn at gmail.com
Mon Nov 19 13:57:09 UTC 2012


On 19 November 2012 12:41, Sean Hammond <sean.hammond at okfn.org> wrote:

> I know it's a pain to change something like this as all the existing
> code would be inconsistent, but our code is already inconsistent on
> this point and I wonder if it's worth changing our coding standards
> rather than continuing as we are.
>
> Can we stop it with this single quotes thing?
>
> I don't know why we use single quotes in CKAN but the only reason I've
> heard for this is that people think ' looks less "noisy" than ", but:
>
> 1  Any natural language string such as any message to the user is likely
>    to contain apostrophes in the string itself which have to be escaped
>    in an ugly and error-prone way: 'You\'ve got an error!'
>
> 2  Here it's ridiculous not to do "You've got an error!" instead
>
> 3  Even if your natural language string happens not to contain any
> apostrophes
>    now, you might add one when you edit it later and then forget to
>    escape it, so you better put the string in double-quotes anyway to be
>    safe
>
> 4  If we're putting natural language strings in double-quotes we may as
>    well put 'my-identifier' type strings in double-quotes as well
>    because otherwise it's inconsistent and confusing
>
> 5  The same goes for docstrings
>
> 6  Both PEP8 and PEP257 have all the strings in their examples in double
>    quotes (PEP257 actually says to put all docstrings in triple double
>    quotes)
>
> 7  If we just used double quotes we could delete the two different parts of
>    our coding standards where we have to tell people to deviate from
>    PEP8 and PEP257 respectively by using single quotes
>
> 8  Right now our coding standards say we use single-quotes which is a lie
>    because we have loads of double-quotes in there because of 1
>
> 9  To make the coding standards true we would have to say something
> ridiculous
>    like:
>
>     Use the single-quote character ' rather than the double-quote
>     character " for string literals, e.g. 'my_string'. Except when the
>     string contains natural language that is likely to contain
>     apostrophes that would need to be escaped in an ugly and
>     error-prone way. Then it’s better to just use double-quotes, e.g.
>     "You're allowed to do this".
>

I think this is the best approach I find single quotes easier to read and
type but if the sting contains ' then doubles make more sense

so data.get('moo'), x='hello' and x="you're bad" seems a good compromise


>
>    Or we say single quotes everywhere and escape apostrophes which is
>    equally silly.
>
> Sorry I know it's nit-picky but I was going over the coding standards
> looking for unnecessary things that could be removed to make them
> shorter and this one was grating at me.
>
> _______________________________________________
> ckan-dev mailing list
> ckan-dev at lists.okfn.org
> http://lists.okfn.org/mailman/listinfo/ckan-dev
> Unsubscribe: http://lists.okfn.org/mailman/options/ckan-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.okfn.org/pipermail/ckan-dev/attachments/20121119/12258844/attachment-0001.html>


More information about the ckan-dev mailing list