<html>
  <head>
    <meta content="text/html; charset=windows-1252"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#FFFFFF" text="#000000">
    <br>
    <div class="moz-cite-prefix">On 10/13/2014 05:23 PM, Sean Silva
      wrote:<br>
    </div>
    <blockquote
cite="mid:CAHnXoanOVNhC1-QV8bZVr7Y=PDt8vW3c-aHB1ic6eCuoWn020w@mail.gmail.com"
      type="cite">
      <div dir="ltr"><br>
        <div class="gmail_extra"><br>
          <div class="gmail_quote">On Mon, Oct 13, 2014 at 5:09 PM, Jim
            Grosbach <span dir="ltr"><<a moz-do-not-send="true"
                href="mailto:grosbach@apple.com" target="_blank">grosbach@apple.com</a>></span>
            wrote:<br>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div style="word-wrap:break-word"><br>
                <div>
                  <div>
                    <div class="h5">
                      <blockquote type="cite">
                        <div>On Oct 13, 2014, at 4:31 PM, Chandler
                          Carruth <<a moz-do-not-send="true"
                            href="mailto:chandlerc@google.com"
                            target="_blank">chandlerc@google.com</a>>
                          wrote:</div>
                        <br>
                        <div>
                          <div dir="ltr">
                            <div class="gmail_extra"><br>
                              <div class="gmail_quote">On Mon, Oct 13,
                                2014 at 4:14 PM, Chandler Carruth <span
                                  dir="ltr"><<a
                                    moz-do-not-send="true"
                                    href="mailto:chandlerc@google.com"
                                    target="_blank">chandlerc@google.com</a>></span>
                                wrote:<br>
                                <blockquote class="gmail_quote"
                                  style="margin:0 0 0
                                  .8ex;border-left:1px #ccc
                                  solid;padding-left:1ex"><span>
                                    <blockquote class="gmail_quote"
                                      style="margin:0 0 0
                                      .8ex;border-left:1px #ccc
                                      solid;padding-left:1ex">
                                      <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>
                                  </span>
                                  <div>I think wee at least need a good
                                    answer to this.</div>
                                </blockquote>
                              </div>
                              <br>
                              As I really suspect this is the most
                              important point to address, let me make an
                              attempt:</div>
                            <div class="gmail_extra"><br>
                            </div>
                            <div class="gmail_extra">Variable names are
                              *either* initialisms, written as all caps,
                              or terms written in lower case and
                              separated by underscores. For the purposes
                              of variable naming "terms" can include
                              words but also extremely common and
                              recognizable abbreviations within LLVM
                              such as "rhs", "lhs", or "gep". These
                              types of terms should not be written as
                              initialisms but as words. For example, you
                              might write "LE" or "lhs_expr" for the
                              Left-hand Expression, but not "LHSE" or
                              "LHS_expr".</div>
                            <div class="gmail_extra"><br>
                            </div>
                            <div class="gmail_extra">While I'm trying to
                              avoid it, this has the advantage of
                              leaving a large number of initialisms in
                              the existing code base as "stylish".</div>
                            <div class="gmail_extra"><br>
                            </div>
                            <div class="gmail_extra"><br>
                            </div>
                            <div class="gmail_extra">I'm not really
                              happy with this rule, but it is the least
                              disruptive and most consistent I can come
                              up with. I would also be happy encouraging
                              people to not use initialisms excessively
                              or if confusing. I think the current
                              codebase uses them more than is helpful.</div>
                          </div>
                        </div>
                      </blockquote>
                      <div><br>
                      </div>
                    </div>
                  </div>
                  <div>This makes sense to me. I think it strikes a good
                    balance between updating our conventions to be
                    better and also reflecting common in-practice usage
                    patterns.</div>
                </div>
              </div>
            </blockquote>
            <div><br>
            </div>
            <div>This convention sounds like it would cause people to
              have to be constantly asking themselves "is this common
              enough to be an initialism-as-word or not?". The thing
              that started this conversation was someone complaining
              about going between codebases that they weren't sure
              whether to capitalize; now that person will have to get a
              feel for the local initialism-as-word's, which is a much
              greater burden than just the naming convention.
              <div><br>
              </div>
              <div>-- Sean Silva</div>
            </div>
          </div>
        </div>
      </div>
    </blockquote>
    In practice, you have to set such a threshold somewhere.  Otherwise,
    you end up not being able to use terms like SSA, or Phi without an
    explanation.  My view is that common initialisms like lhs, gep, and
    dt should be accepted.  If you haven't spent enough time in the code
    to recognize them, you probably shouldn't have commit rights
    anyways.  <br>
    <br>
    I am in favor of keeping that list of initialisms small.  Adding a
    new one (either for an area, or the project as a whole) should
    trigger discussion outside of a single review thread.<br>
    <br>
    Philip<br>
    <blockquote
cite="mid:CAHnXoanOVNhC1-QV8bZVr7Y=PDt8vW3c-aHB1ic6eCuoWn020w@mail.gmail.com"
      type="cite">
      <div dir="ltr">
        <div class="gmail_extra">
          <div class="gmail_quote"><br>
            <div> </div>
            <blockquote class="gmail_quote" style="margin:0 0 0
              .8ex;border-left:1px #ccc solid;padding-left:1ex">
              <div style="word-wrap:break-word">
                <div><span class="">
                    <div><br>
                    </div>
                    <div>
                      <blockquote type="cite">FWIW, I think that having
                        different naming conventions for data members
                        and local variables has become essentially
                        untenable with lambdas and capture.</blockquote>
                      <br>
                    </div>
                  </span>
                  <div>Can you elaborate a bit more on this? Maybe an
                    example or two.</div>
                  <div><br>
                  </div>
                  <div>I’m very supportive of the general direction of
                    all of this. Glad to see the general consensus
                    developing.</div>
                  <span class="HOEnZb"><font color="#888888">
                      <div><br>
                      </div>
                      <div>-Jim</div>
                      <div><br>
                      </div>
                    </font></span></div>
              </div>
              <br>
              _______________________________________________<br>
              LLVM Developers mailing list<br>
              <a moz-do-not-send="true"
                href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a> 
                     <a moz-do-not-send="true"
                href="http://llvm.cs.uiuc.edu" target="_blank">http://llvm.cs.uiuc.edu</a><br>
              <a moz-do-not-send="true"
                href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev"
                target="_blank">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a><br>
              <br>
            </blockquote>
          </div>
          <br>
        </div>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <br>
      <pre wrap="">_______________________________________________
LLVM Developers mailing list
<a class="moz-txt-link-abbreviated" href="mailto:LLVMdev@cs.uiuc.edu">LLVMdev@cs.uiuc.edu</a>         <a class="moz-txt-link-freetext" href="http://llvm.cs.uiuc.edu">http://llvm.cs.uiuc.edu</a>
<a class="moz-txt-link-freetext" href="http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev">http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev</a>
</pre>
    </blockquote>
    <br>
  </body>
</html>