[llvm-dev] RFC: changing variable naming rules in LLVM codebase
David Greene via llvm-dev
llvm-dev at lists.llvm.org
Mon Feb 25 18:52:53 PST 2019
Here's what I could find on the thread:
http://lists.llvm.org/pipermail/llvm-dev/2019-February/130430.html
"This is not how I described my preference for it. I prefer it generally and
find it substantially easier to read code using it.
That said, I think the fact that LLDB uses it does contribute two
motivations:
1) It does show some subset of the community is familiar with it and has
found it to be a reasonably good convention for their usage.
2) It removes some cost of transition.
I wouldn't make the decision *because* of this, but I also don't think we
should ignore these points."
http://lists.llvm.org/pipermail/llvm-dev/2019-February/130311.html
"There is also a decent amount of code in Clang using foo_bar_baz. ::shrug::
I think the amount of all of these pales in comparison to LLDB, and I think
generally all of these are not going to significantly change the total cost
of transition."
http://lists.llvm.org/pipermail/llvm-dev/2019-February/130309.html
"I think the fact that named things are called does not fully disambiguate
what they are.
I'm not trying to say that the collision with functions is *as* confusing
as that of colliding with types. Merely that both seem confusing. And I
find `foo_bar_baz` and `fooBarBaz` basically equivalent[1]. So between
those equivalents, I would choose the one with fewer collisions.
[1]: Ok, not quite, but I find this to be a more personal preference and am
trying to weight it lower as a consequence. I find functions much more
similar to types -- they are manifest properties of the program. I find
`FooBarBaz` and `fooBarBaz` to be very similar looking. There is *a*
distinction, but it is a minor one. I would prefer a greater visual
difference for variables, which `foo_bar_baz` provides."
Forgive me if I missed a post, it's a long thread. :)
>From the above, I conclude that you prefer lower_case because LLDB uses
it and it's different from everything else other projects use. Which I think
is basically what I summarized as the arguments I've read.
I'm still pretty puzzled why distinguishing functions/callables from "variables"
via under_scores or someCamelCase matters. I guess I believe that with good
names and program structure (small functions, etc.) things should be fairly
clear. I'm actually fine with CamelCase for variables (the current convention)
as I haven't found myself confused by it, but I understand why people want to
reserve that for types.
What's the process for making this kind of change? If we want significant buy-in
from the community how do we get that?
-David
________________________________________
From: Chandler Carruth <chandlerc at gmail.com>
Sent: Monday, February 25, 2019 4:47 PM
To: David Greene
Cc: paul.robinson at sony.com; llvm-dev at lists.llvm.org; nd at arm.com; asb at lowrisc.org
Subject: Re: [llvm-dev] RFC: changing variable naming rules in LLVM codebase
On Mon, Feb 25, 2019 at 7:17 AM David Greene via llvm-dev <llvm-dev at lists.llvm.org<mailto:llvm-dev at lists.llvm.org>> wrote:
<paul.robinson at sony.com<mailto:paul.robinson at sony.com>> writes:
>> "lower_case" is a pretty drastic change from CamelCase and camelCase.
>> So far the only argument for it I've seen is, "lldb uses it all over the
>> place." Having one subproject drive the standard for everything else
>> seems backward. It's certainly possible I missed other opinions on this
>> though.
>
> You have. For example, here's a "significant improvement" comment:
> http://lists.llvm.org/pipermail/llvm-dev/2019-February/130214.html
But I see nothing there about *why* it would be a "significant
improvement." At best I see an allusion to something like, "this is
really different than anytyhing we've done before so it doesn't conflict
with any existing naming." If I've misinterpreted I hope Chandler will
correct me.
I wrote more details on this thread about why I significantly prefer this. Can you respond there? I don't want to just repeat things that already make sense or miss the things that actually don't make sense.
More information about the llvm-dev
mailing list