X-Git-Url: http://plrg.eecs.uci.edu/git/?a=blobdiff_plain;f=docs%2FCodingStandards.html;h=ff707f3a84fb263166f26686e700f29877207674;hb=bba9f5f37859f1d53ff061695bfc8c22133c6f0e;hp=d469d6315ecb8be4704b52f524a8f68e069ceed7;hpb=c49fcd123982e07be4badc11a90af48e62b91caf;p=oota-llvm.git diff --git a/docs/CodingStandards.html b/docs/CodingStandards.html index d469d6315ec..ff707f3a84f 100644 --- a/docs/CodingStandards.html +++ b/docs/CodingStandards.html @@ -1,839 +1,1351 @@ - -A Few Coding Standards - - - - -
  A Few Coding Standards
+ + + + + LLVM Coding Standards + + + +
+ LLVM Coding Standards +
    -
  1. Introduction +
  2. Introduction
  3. Mechanical Source Issues
    1. Source Code Formatting -
        -
      1. Commenting -
      2. Comment Formatting -
      3. #include Style -
      4. Source Code Width -
      5. Use Spaces Instead of Tabs -
      6. Indent Code Consistently -
      +
        +
      1. Commenting
      2. +
      3. Comment Formatting
      4. +
      5. #include Style
      6. +
      7. Source Code Width
      8. +
      9. Use Spaces Instead of Tabs
      10. +
      11. Indent Code Consistently
      12. +
    2. Compiler Issues
        -
      1. Treat Compiler Warnings Like Errors -
      2. Which C++ features can I use? -
      3. Write Portable Code -
      -
    +
  4. Treat Compiler Warnings Like + Errors
  5. +
  6. Write Portable Code
  7. +
  8. Use of class/struct Keywords
  9. +
+
  • Style Issues
    1. The High Level Issues
        -
      1. A Public Header File is a Module -
      2. #include as Little as Possible -
      3. Keep "internal" Headers Private -
      +
    2. A Public Header File is a + Module
    3. +
    4. #include as Little as Possible
    5. +
    6. Keep "internal" Headers + Private
    7. +
    8. Use Early Exits and 'continue' to Simplify + Code
    9. +
    10. Don't use "else" after a + return
    11. +
    12. Turn Predicate Loops into Predicate + Functions
    13. +
  • The Low Level Issues
      -
    1. Assert Liberally -
    2. Prefer Preincrement -
    3. Avoid endl -
    4. Exploit C++ to its Fullest -
    -
  • Writing Iterators - -
  • See Also -

    +

  • Assert Liberally
  • +
  • Do not use 'using namespace std'
  • +
  • Provide a virtual method anchor for + classes in headers
  • +
  • Don't evaluate end() every time through a + loop
  • +
  • #include <iostream> is + forbidden
  • +
  • Avoid std::endl
  • +
  • Use raw_ostream +
  • + +
  • Microscopic Details +
      +
    1. Spaces Before Parentheses
    2. +
    3. Prefer Preincrement
    4. +
    5. Namespace Indentation
    6. +
    7. Anonymous Namespaces
    8. +
  • + + + +
  • See Also
  • + + +
    +

    Written by Chris Lattner

    +
    -
    -Introduction -
    -Mechanical Source Issues -
       -Source Code Formatting -


    Commenting


    Comment Formatting


    #include Style


    Source Code Width


    Use Spaces Instead of Tabs


    Indent Code Consistently

       -Compiler Issues -


    Treat Compiler Warnings Like Errors


    Which C++ features can I use?


    Write Portable Code

    -Style Issues -
       -The High Level Issues -


    A Public Header File is a Module


    #include as Little as Possible


    Keep "internal" Headers Private

       -The Low Level Issues -


    Assert Liberally


    Prefer Preincrement


    Avoid endl


    Exploit C++ to its Fullest

       -Writing Iterators -
    -See Also -

    - -
    Chris Lattner
    - - -Last modified: Sun Oct 12 22:12:43 CDT 2003 - -
    - +
    + Valid CSS + Valid HTML 4.01 + + Chris Lattner
    + LLVM Compiler Infrastructure
    + Last modified: $Date$ +
    + + +