<div dir="ltr"><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Oct 13, 2014 at 4:08 PM, Richard Smith <span dir="ltr"><<a href="mailto:richard@metafoo.co.uk" target="_blank">richard@metafoo.co.uk</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div>I think this would be bad:</div><div><br></div><div>  function();</div><div>  lambda();</div><div>  longFunction();</div><div>  long_lambda();</div><div><br></div><div>... but possibly not in practice, since function names rarely have only one word.</div><div><br></div><div>A partial-camel-case, partly-underscores convention sounds strange to me. (I don't find this to be problematic for BIG_SCARY_MACROS and for ABCK_EnumNamespaces because the former are rare and in the latter case the underscore isn't a word separator, it's a namespace separator.) We have a few people here who are used to such a style (since it's what the Google style guide and derivatives uses); any useful feedback from that experience?</div></div></blockquote><div><br></div><div>This has never come up as a practical problem in my time at Google. Or at least, if it has, it was so rare and long ago that I can't remember it. I don't expect it to be a problem in practice. Mostly that is because all of the problematic cases have two words in them, with one of the words often being "is" or a related obvious verb like "get", "create", etc.</div><div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br></div><div><br></div><div>Some arguments against the change as proposed:</div><div><br></div><div>1. Initialisms. It's common in Clang code (also in LLVM?) to use initialisms as variable names. This doesn't really seem to work for names that start with a lower case letter.</div></blockquote><div><br></div><div>I think wee at least need a good answer to this.</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br></div><div>2. The ambiguity introduced might be worse than the one removed. It's usually easy to see if a name is a type or variable from the context of the use. It's not so easy to see if a name is a function or a variable, especially as more variables become callable due to the prevalence of lambdas.</div></blockquote></div></div></div>