- Update an example to omit the blank line between C and C++ #includes.
- Rewrite the paragraph about #include ordering.
- Clarify namespace closing comments.
- Discourage const references for input arguments which are aliased beyond
the scope of the function call.
- Replace all '&' with '&'.
- Clarify that interfaces must have virtual destructors.
- Add an explicit example for |else if|.
- C++11 updates.
Update Objective-C style guide to 2.36:
- Remove requirement to list @dynamic implementations.
- Remove requirement to never synthesize CFType properties, since they may
be retained on 10.6.
- Use __weak and __strong type declaration modifiers rather than comments.
- Make the copyright/license information consistent.
- An example initializer comment revealed too much about the implementation.
- Correct spelling mistakes.
- Fix names that didn't follow Cocoa conventions.
- Fix examples to conform to style.
- Add a section about no braces for empty interfaces.
- Add a section about automatically synthesized instance variables.
- Codify avoidance of accessors in -init and -dealloc methods.
- Changes for the 80-column rule.
- Weaken the language around object ownership type qualifiers.
- Document the rules for formatting blocks.
Update JavaScript style guide to 2.27:
- Introduce EcmaScript 5 Strict verbiage.
- Add a note about private constructors.
- Simplify explanations about JSDoc comments.
- Sort the JSDoc tags.
- Remove the sections about type-checking now that the JSDoc tags and JS
types are no longer one table.
- Convert <tt> to <code>, because the XSL processor eats <tt>.
- Add @suppress.
- Mark @inheritDoc deprecated in favor of @override.
- Add a section about inner classes and enums being defined in the same file
as the top-level class they are defined on.
Update Python style guide to 2.28:
- Change "Naming" summary to match body.
- Make the prohibition against backslash line continuation explicit.
- Update the TODO section to match the C++ style guide.
- Declare Python code without a shebang line to be stylish.
- Clarify rules on function docstrings.
- Fix spelling errors.
- Update with styleguide.xsl 1.33.
Update styleguide.xsl to 1.33:
- Clean up style guide JS.
- Links to anchor tags auto-expand.
- Suggest "const_cast" when encountering "(char*)".
- Warn on template arguments to make_pair().
- Require <utility> if pair<> is seen now that <map> doesn't include it.
- Warn on lack of "explicit" keyword on single argument inline constructors.
- Better check for hanging ')' when closing function calls.
- Don't warn on: 'int v[1][3] = {{1, 2, 3}};'
- Allow function calls as the first argument to printf().
Review URL: http://codereview.appspot.com/4974066
- ostream should be treated as a system header
- Expand the MockCallback whitelist entry for gMock.
- Virtual destructor check shouldn't get confused with
"class EXPORT ClassName {" constructs.
- Don't warn about the length of "$ Id: ... $" lines.
- Better semicolon checks in for() loops.
- Better whitespace comment checks.
Review URL: http://codereview.appspot.com/4964064
- Revise "Smart Pointers" section.
- Clarify that it's OK to have spaces after '#' in a preprocessor directive,
even though '#' itself must not be indented.
- Revise "TODO Comments" section.
- Fix wording.
- Explicitly recommend foo.h be the first file #included by foo_test.cc.
Update Objective-C style guide to 2.24:
- Clarify the spacing of @property declarations.
- Add "Overridden NSObject Method Placement" section.
- Explicitly permit blank lines around @interface, @implementation, and @end.
Update JavaScript style guide to 2.20:
- Provide additional guidance with respect to the compiler.
- Add {function(new:Type)} as a type syntax for constructors of Type.
- Revise "Method and Function Comments" section.
- Harmonize text and example in the "Passing Anonymous Functions" section.
- Explicitly state that @param and @return types must be enclosed in braces.
- Add documentation on the UNKNOWN type.
- Replace a CODE_SNIPPET with BAD_CODE_SNIPPET in the "Internet Explorer's
Conditional Comments" section.
- Remove a redundant "Expand for more information" in the "Naming" section
and fully spell out "information" in the "Code Formatting" section.
- Provide a positive example in the "Multiline string literals" section.
- Provide guidance for indentation within nested functions.
Update Python style guide to 2.20:
- Clarify shebang rule.
- Remove comment about naming macros like enums.
- Move a bad code snippet from a CODE_SNIPPET to a BAD_CODE_SNIPPET element.
Update Python style guide to 2.18:
- Clarify the syntax for import statements.
Update styleguide.xsl to 1.31:
- Substitute underscore for apostrophe in anchor names.
- Add leading blank line exception.
- Improve guidance for function definition comments.
- Tweak class comment example to not violate type naming guidelines.
Update Objective-C style guide to 2.21:
- Prohibit +new.
Update JavaScript style guide to 2.9:
- Add new "Function Declarations Within Blocks" section.
- Add new "Internet Explorer's Conditional Comments" section.
- Add new "Alias long type names to improve readability" section.
- Add @lends.
- Allow overloading a function judiciously.
- _unittest and _regtest are deprecated.
- Document C++0x policy.
- Allow namespace aliases in .h files when inside namespaces.
- Give examples for and against parentheses with return.
- Update set of allowed Boost headers.
- Add a caveat to the forward-declaration section, mentioning impicit
constructors.
- Forbid the use of operator synonyms such as "and."
- Specify the naming convention (OrDie) to use when a function has
crash-on-failure semantics.
- Allow static const data members to be non-private.
- Specify placement of friend declarations.
- Require each file to include headers that they use.
Update Objective-C style guide to 2.18:
- Prefer @optional to informal protocols when possible.
- Specify formatting for invoking methods.
- Require that -dealloc be easy to review.
- Be explicit about "class Foo :\n public Bar" being wrong.
- Allow snprintf(NULL, 0, ...) pattern.
- Extend NOLINT syntax.
- Remove NOLINT hint.
- <new> is an STL header.
- Use original filename for header guard when invoked by flymake.
- Avoid false-positive build/include_what_you_use errors for use
of classes called "string" other than STL ones.
Review URL: http://codereview.chromium.org/1697023
- Add call_traits to the set of allowed boost libraries.
- Add an exception to the rule against default arguments to cover the useful
case of simulating variadic functions.
- Discourage the usage of ## in macros.
- Clarify example: it's acceptable to declare two parameters on one line even
if they don't all fit on that one line.
- Fix a typo ("make use symmetric spacing").
- Change bitwise AND to logical AND in a condition.
Update styleguide.xsl to 1.27:
- Change a bunch of SPANs into DIVs.
Update Python style guide to 2.15:
- Apply styleguide.xsl 1.27, changing a bunch of SPANs into DIVs.
- Make the messaging on DISALLOW_EVIL_CONSTRUCTORS more clear that we should
not be rewriting old code but should simply prefer DISALLOW_COPY_AND_ASSIGN
on new code.
- s/Initializer Lists/Constructor Initializer Lists/ since people search for
this based on knowing it's part of the constructor, but forget the precise
name.
- Allow data members in a test fixture to be private.
- Loosen restrictions on globals.
- Add explicit guideline for nested namespace formatting.
- Strengthen the prohibition against operator overloading for operator&.
- Add recommendation for "_" over "-" in file names.
- Revise the "Copy Constructors" section for brevity and clarity. Emphasize
preference for standard over nonstandard copy operations.
- Weaken the wording at the top of the "Doing Work in Constructors" section,
making it clear that Init() methods are not absolutely required for
non-trivial initialization.
- Fix minor typos and grammatical errors.
Update Objective-C style guide to 2.14:
- Add the Rule of Four for indenting parameters. Allow either of two forms
for formatting methods with short first keywords.
- Update the guidance on BOOL vs. bool.
- Whitespace cleanup.
Update Python style guide to 2.14:
- Consolidate discussion of the string module, apply, map, filter, and reduce
into a single section.
- Make it explicit that functions and classes can be nested inside methods.
- Optional check to make sure #includes are in alphabetical order.
- Optional "--counting=" option for statistics on what errors were found.
- Fix typos.
- Warn on overloading the unary operator&(). (Binary operator&() is fine).
- Fix false positives on "new int(x)"; it is not a cast.
- Allow "NOLINT" on header guards.
- Prevent members of a class from being "const string&".
- Don't check quoted filenames with irrelevant tests.
- Make cpplint accept 'for (foo; bar; ) {}'.
- Work with temporary files generated by Emacs flymake-mode.
- Don't warn on "/// Doxygen comments."
- Check the use of DCHECK in the same way we check the use of CHECK.
- Properly handle relative file paths with IncludeWhatYouUse checking.
- Start checking for IncludeWhatYouUse in a limited way in .cc files.