<div dir="auto">FWIW, I'm pretty strongly opposed to humbleCamelCase. We already use that style so something else. One of the biggest advantages of changing the variable naming convention would be to differentiate variables from other constructs IMO, and that's the nature of many examples here.<div dir="auto"><br></div><div dir="auto">Using underscore_names for variables as Zach suggests would,, onhe other hand, be a significant improvement IMO.</div><div dir="auto"><br></div><div dir="auto">That said, all of these changes are pretty dramatic and expensive. I'm personally in favor but you'd want a *lot* of buy in from the community as well as some really good tooling I think to help people update code they're about to make substantial changes to prior to those changes, much like we often do with clamg-format.</div><div dir="auto"><br></div><div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 12, 2019, 16:47 Zachary Turner via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">One additional consideration is that LLDB currently uses underscore_names.  It might be worth considering that style on these grounds alone, as that would bring a very large existing part of LLVM into conformance<br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Feb 12, 2019 at 1:47 PM David Greene via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It very much depends on what is following the code snippit.  If the<br>
second "if" is guarding a substantial block of code, "constantExpr"<br>
might very well be a good name.  Otherwise something like "cExpr" or<br>
"constExpr" might be fine.<br>
<br>
In the past when I have seen things like "CE" in the code, it's not<br>
always immediately clear to me what it is.  I have to go find the<br>
declaration.<br>
<br>
                             -David<br>
<br>
<br>
Krzysztof Parzyszek via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a>> writes:<br>
<br>
> The reason is clear: the variable name in such a context doesn't add<br>
> anything, since it's obvious what it is. Long names should be used<br>
> where meaning needs to be conveyed, otherwise they just obfuscate the<br>
> code needlessly.<br>
><br>
> -Krzysztof<br>
><br>
> On 2/12/2019 3:17 PM, Alex Denisov via llvm-dev wrote:<br>
>> I would assume that the proper name in this case is constantExpr, and not CE.<br>
>> This is not really an acronym, but rather a shortcut taken for some unclear reason.<br>
>><br>
>>> On 12. Feb 2019, at 13:02, Björn Pettersson A via llvm-dev <<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a>> wrote:<br>
>>><br>
>>> (Sorry if this subject already has been discussed, but I could not find any clear rules/recommendations.)<br>
>>>   What would the recommendation be for acronyms (I’ve seen the rule<br>
>>> about avoiding them unless they are “well known”,<br>
>>> but sometimes an acronym is useful, and we at least need to have some recommendation for the “well known” ones).<br>
>>>   Example:<br>
>>>        if (ConstantExpr *CE = dyn_cast<ConstantExpr>(V))<br>
>>>        if (CE->getOpcode() == Instruction::GetElementPtr &&<br>
>>>            CE->getOperand(0)->isNullValue()) {<br>
>>>   In the above example, is the recommendation to use “ce” instead<br>
>>> of “CE” now? Or should it be “cE”?<br>
>>> With lowerCamelCase one might think that “cE” is the correct one (although I personally think that one looks quite ugly).<br>
>>>   Maybe there should be an exception that variable names that start<br>
>>> with an acronym still should start with an upper case letter?<br>
>>>   /Björn<br>
>>>     From: llvm-dev <<a href="mailto:llvm-dev-bounces@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev-bounces@lists.llvm.org</a>> On Behalf Of<br>
>>> Michael Platings via llvm-dev<br>
>>> Sent: den 7 februari 2019 23:11<br>
>>> To: <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
>>> Cc: nd <<a href="mailto:nd@arm.com" target="_blank" rel="noreferrer">nd@arm.com</a>><br>
>>> Subject: [llvm-dev] RFC: changing variable naming rules in LLVM codebase<br>
>>>   TL;DR: change the rule for variable names from UpperCamelCase to<br>
>>> lowerCamelCase.<br>
>>><br>
>>>   <br>
>>><br>
>>> Just to get wider visibility on this, I'm raising this again as an RFC, as suggested by Roman Lebedev.<br>
>>><br>
>>>   <br>
>>><br>
>>> My original post from last week is here and gives a rationale: <a href="http://lists.llvm.org/pipermail/llvm-dev/2019-February/129854.html" rel="noreferrer noreferrer" target="_blank">http://lists.llvm.org/pipermail/llvm-dev/2019-February/129854.html</a>. There seemed to be general agreement that the status quo is not ideal.<br>
>>><br>
>>>   <br>
>>><br>
>>> Chris Lattner pointed out that this came up in 2014 as well: <a href="http://lists.llvm.org/pipermail/llvm-dev/2014-October/077685.html" rel="noreferrer noreferrer" target="_blank">http://lists.llvm.org/pipermail/llvm-dev/2014-October/077685.html</a>>><br>
>>>   <br>
>>><br>
>>> I've created a patch to implement the change. Review and comments welcome: <a href="https://reviews.llvm.org/D57896" rel="noreferrer noreferrer" target="_blank">https://reviews.llvm.org/D57896</a>>><br>
>>> _______________________________________________<br>
>>> LLVM Developers mailing list<br>
>>> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
>>> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>><br>
>> _______________________________________________<br>
>> LLVM Developers mailing list<br>
>> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
>> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a>><br>
><br>
> _______________________________________________<br>
> LLVM Developers mailing list<br>
> <a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
> <a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>
_______________________________________________<br>
LLVM Developers mailing list<br>
<a href="mailto:llvm-dev@lists.llvm.org" target="_blank" rel="noreferrer">llvm-dev@lists.llvm.org</a><br>
<a href="https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev" rel="noreferrer noreferrer" target="_blank">https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-dev</a><br>
</blockquote></div>