Commit Graph

150 Commits

Author SHA1 Message Date
Titus Winters
b43afc71a5 Merge pull request #91 from zettca/patch-1
Fix links to C++ guide
2016-02-16 12:00:00 -05:00
Titus Winters
842ac63548 Merge pull request #105 from erictleung/add-license-logo-and-format-readme
Reflow README to 80 characters & add license logo
2016-02-16 10:42:35 -05:00
Eric Leung
5ec31fe134 Reflow README to 80 characters & add license logo 2016-02-16 07:10:34 -08:00
Andrew Bonventre
2a576b1397 Merge pull request #101 from Lambdac0re/patch-1
Fixed Wikipedia link
2016-01-18 14:51:37 -05:00
Lambdac0re
ef3245788c Fixed Wikipedia link
The paragraph was renamed
2016-01-18 20:38:21 +01:00
Mark Mentovai
7a179d1ac2 Merge pull request #99 from tituswinters/gh-pages
Update to current.
2016-01-06 16:49:00 -05:00
Titus Winters
0124f309e4 Update to current.
Most significant updates:
* Casting (for arithmetic types, maybe use {}s)
* Namespaces
* Aliases
2016-01-06 16:09:22 -05:00
Mark Mentovai
14ab228ab6 Restore missing newline 2016-01-04 10:49:37 -05:00
Bruno Henriques
57cd3410f9 Fix links to C++ guide 2015-11-27 18:12:52 +00:00
Andrew Bonventre
e1333014b5 Merge pull request #63 from erictleung/gh-pages
Update README.md with R Style Guide
2015-11-01 09:44:45 -05:00
Andrew Bonventre
162db3d5aa Merge pull request #85 from frp/gh-pages
Fix links in C++ guide to point to GitHub
2015-11-01 09:43:29 -05:00
Roman Franchuk
7e0bcd7e29 Fix links in C++ guide to point to GitHub
The links were pointing to googlecode.com. Two of them resulted in "404
Not Found", one resulted in the message "the project is moved".
2015-11-01 12:52:05 +02:00
Nodir Turakulov
2bfe5f4aa8 Merge pull request #76 from dirk-thomas/patch-1
Update link to point to github instead of googlecode
2015-10-13 16:18:28 -07:00
Dirk Thomas
79ea3810bb update link to point to github instead of googlecode 2015-10-13 15:58:53 -07:00
Geoff Romer
3591b2e540 Update C++ Style Guide to 4.177. 2015-09-11 15:09:00 -07:00
Nodir Turakulov
294c447974 Fix unclear line limit
Fixes #67
2015-09-03 19:04:20 -07:00
Nodir Turakulov
edccafae5a Google Documentation Guide
Includes Markdown Style Guide
See docguide/README.md
2015-08-31 11:37:09 -07:00
Eric Leung
e0432d43d2 Update README.md with R Style Guide 2015-08-08 14:26:37 -07:00
Elliot Glaysher
43d738ab8b Update README.md to link to the served versions of all the pages. 2015-05-20 15:29:26 -07:00
Elliot Glaysher
51ce2f4117 Create README.md
Copy the current blurb from https://code.google.com/p/google-styleguide/ into a README.md as a first step.
2015-05-20 12:28:50 -07:00
avakulenko@google.com
554223dc54 Update cpplint.py to #409
409 - Fixed false positive for access-specifier used with virtual in inheritance.
408 - Fixed false positive in determining rvalue parameter types for functions
      whose return type is on the previous line.
407 - Allow different include sections to be separated by anything other than
      #include.
406 - Disable readability/streams warnings in cpplint, to reflect style guide
      changes.
405 - Fixed false positive for whitespace checks with CUDA code.
404 - Do not issue cpplint warnings for use of Doxygen-style comments.
403 - Allow RValue types that were listed in template-argument-list.
      Fixed handling of RValue types after pointer parameters.
402 - Change the style guide to allow std::forward and associated use of rvalue
      references.
401 - Fixed cpplint crash when checking header guards for filenames containing
      meta characters.
400 - Fixed false positive for alignas() used with anonymous struct or union.
399 - Fixed false positive for template function calls with braced constructor.
398 - Allow #endif header guard comments to use "/**/" style if there are no
      "//" comments in the same file.
397 - Fixed false positives for DISALLOW macro check position check.
396 - Don't treat lambda functions with return value syntax as casts.
395 - <skipped>
394 - Fixed RValue references for out-of-line inner class constructor
      declarations.
393 - Fixed false positive for redundant override/final by ignoring declarators.
392 - Fixed false positive for taking address of a function pointer return value
      being recognized as taking address of a cast.
391 - Version of cpplint that fixes the spacing around the '=' operator.
390 - <skipped>
389 - Don't warn on non-const reference arguments of out-of-line method
      definitions.
388 - Fixed false positive for "virtual" from virtual base class be interpreted
      as virtual member function.

R=erg@google.com

Review URL: https://codereview.appspot.com/184990043
2014-12-04 22:00:20 +00:00
dbarnett@google.com
4052f397d9 Fix typo in vimscriptfull guide: addmatch->matchadd 2014-11-15 02:14:20 +00:00
erg@google.com
a8999a616f Add autoload magic comments for the functions exposed by google-c-style.
This should make packaged versions of google-c-style (like from MELPA)
provide the symbols without doing explicit 'require.

Patch by Kimmo Kinnunen <kkinnunen@nvidia.com>.
2014-09-29 18:18:46 +00:00
mark@chromium.org
3ed10fb207 Update C++ style guide to 4.45.
Much of the guide has been refactored, rewritten, and revised.
2014-09-08 17:01:51 +00:00
avakulenko@google.com
310681b865 Added support for 'linelength' setting in CPPLINT.cfg
It is now possible to override the line length per project
by usign 'linelength' setting in CPPLINT.cfg.

R=erg@google.com

Review URL: https://codereview.appspot.com/132050043
2014-08-22 19:38:55 +00:00
avakulenko@google.com
a8ee7eaaa4 Update cpplint.py to #387:
387 - Allow lint warnings on the next line to be suppressed with NOLINTNEXTLINE.
386 - Fixed false positive for strcat and strcpy.
385 - Fixed false positive for bitwise and on last line of a multi-line
384 - Remove unused deprecated testing/base/googletest.h header.
383 - Fixed false positive for bitwise and on last line of a multi-line
      initializer list that ends with closing brace on the same line.
382 - Allow header guard warning to be silenced with
      "// NOLINT(build/header_guard)" comment.
381 - Removed check for spaces between "//" and "TODO".
380 - Fix typo: Redudnant -> Redundant
379 - Added check for redundant "virtual" and "override" function-specifier.
378 - Updated missing "explicit" message to match style guide wording
377 - Add cpplint check to prevent .cc file inclusions from other packages.
      These are generally bad and we should prevent regressions like this until
      proper BUILD layering checks are in place.
376 - Silence missing braces warning for conditional statements inside lambdas.
375 - Warn about multi-arg constructors being explicit only at highest severity
      level.
374 - Warn about non-single-argument constructors marked explicit.
373 - Exclude 'case' from function spacing check.
372 - Exclude third party headers such as Python.h from these checks:
371 - Fixed false positive for function pointer parameters followed by other
      parameters.
370 - Allow RValue reference for default inline constructor.
369 - Fixed false positive for array of references and operator,().
368 - Silence named parameter warning for macros.
367 - Fixed false positive for duplicate header warning across preprocessor
      boundaries.
366 - Allow rvalue references for constructors and assignment operator.
365 - Stop handling DISALLOW_EVIL_CONSTRUCTORS in cpplint.py,
      since it's going away.
364 - Fixed false positive for member function in nested classes.
363 - Namespace indentation for cpplint. The C++ style guide enforced that items
      within a namespace do not receive an extra level of indentation.
362 - Fixed false positive for multi-line member functions returning strings.
361 - Do not suggest replacement CHECK macros if custom error messages are used.
360 - Silence nonconst reference warning for multiline derived functions.
359 - Silence non-const reference warnings for derived functions.
358 - Added link to developer guide.
357 - Remove the partial ban on std::move and related features. More general
356 - Fixed false positive for << inside macros.
355 - Make _NestingState class public.
354 - Fixed false positive for multiline function templates.
353 - Fixed false positive for lambda capture.
352 - Silence RValue reference warnings that are enclosed in a
351 - Do not warn on CR-LF lines if all input lines are uniformly CR-LF.
350 - Tweaked the error messages for static mutex with default constructors.
349 - Fixed false positive for unnamed parameters in macros.
348 - Recognize &&... as RValue references.
347 - Use alternative error message for including <ostream>.
346 - Fixed false positive for function style template argument.
345 - Fixed false positive for braced constructor call inside brackets.
344 - Minor spelling and grammar fix.
343 - Fixed false positive for non-const reference check inside constructor
342 - Fixed cases where rvalue references are not identified correctly:
341 - Check that third party header files have some header guard, but do not
340 - Don't check header guards in third party files.
339 - Instead of treating thread annotations as macro function calls, skip over
      them in parsing function signatures.  This silences false positives for
      lambdas with thread annotations.
338 - Fixed false positive for deprecated cast where return type of function
337 - Fixed false positive for alias-declarations of function pointers.
336 - Improved error message for taking address of something dereferenced
335 - Added support for C++14 digit separators.
334 - Silence long line warnings for JNI.
333 - Fixed false positive for constructor calls for rand{} being
332 - Elide C++11 raw strings as an empty quoted string instead of
331 - Split up long functions in cpplint.py and cpplint_unittest.py
330 - Fixed false positive for missing space check around "using operator;"
329 - Fixed false positive for indent check around multi-line raw strings.

R=erg@google.com

Review URL: https://codereview.appspot.com/125980043
2014-08-11 19:41:35 +00:00
erg@google.com
7430eefe76 Modify cpplint.py to allow CPPLINT.cfg overrides
Added the ability to provide CPPLINT.cfg files to provide
linter message filters per sub-directory and special exclusion
rules. Each file can have instructions like:

filter=-build/include_order,+build/include_alpha
exclude_files=.*\.cc

The above disables build/include_order warning and enables
build/include_alpha as well as excludes all .cc from being
processed by linter, in the current directory (where the .cfg
file is located) and all sub-directories.

Patch by avakulenko@google.com.
Related CL: https://codereview.chromium.org/406373002/

Review URL: https://codereview.appspot.com/115340043
2014-07-28 22:33:46 +00:00
avakulenko@google.com
4b957b2edd Restore the accidentally deleted extra_check_functions in cpplint.py
This extra parameter was used when calling cpplint.ProcessFile
directly from depot_tools/gcl.py and depot_tools/git_cl.py.

Restoring it...

R=erg@google.com

Review URL: https://codereview.appspot.com/105820044
2014-06-04 22:48:14 +00:00
avakulenko@google.com
02af6281c6 Update cpplint.py to #359:
359 - Silence non-const reference warnings for derived functions.
357 - Remove the partial ban on std::move and related features.
      More general use of rvalue references is still banned for now.
356 - Fixed false positive for << inside macros. Also recognize implicit
      constructors of the form "Type(Type&& param)".
355 - Make _NestingState class public. Also adds a new method
      NestingState.InAsmBlock, which returns true if the top of the stack
      is a block containing inline ASM.
354 - Fixed false positive for multiline function templates.
353 - Fixed false positive for lambda capture.
352 - Silence RValue reference warnings that are enclosed in a
      GOOGLE_ALLOW_RVALUE_REFERENCES_(PUSH|POP) range.
351 - Do not warn on CR-LF lines if all input lines are uniformly CR-LF.
349 - Fixed false positive for unnamed parameters in macros.
348 - Recognize &&... as RValue references.
347 - Use alternative error message for including <ostream>.
346 - Fixed false positive for function style template argument.
345 - Fixed false positive for braced constructor call inside brackets.
344 - Minor spelling and grammar fix.
343 - Fixed false positive for non-const reference check inside constructor
      initializer lists.
342 - Fixed cases where rvalue references are not identified correctly:
      - Parameter in a templated function.
      - Parameter for a single-arg constructor.
      - Return type in a templated function.
338 - Fixed false positive for deprecated cast where return type of
      function template is const.
337 - Fixed false positive for alias-declarations of function pointers.
336 - Improved error message for taking address of something dereferenced
      from a cast.
335 - Added support for C++14 digit separators
      (http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf).
      Not sure if the style guide would allow this feature or not, but
      cpplint must recognize these one way or another to provide accurate
      error messages.
333 - Fixed false positive for constructor calls for rand{} being
      identified as calls to rand().
332 - Elide C++11 raw strings as an empty quoted string instead of an empty
      string.  This allows us to differentiate blank lines inside raw
      strings from regular blank lines.
331 - Split up long functions in cpplint.py and cpplint_unittest.py.
      This is a refactoring change with zero change in functionality,
      the goal is to clean up new warnings.
330 - Fixed false positive for missing space check around "using operator;"
329 - Fixed false positive for indent check around multi-line raw strings.
328 - Added check missing spaces around ||.  This check should have been
      included in the original CheckSpaces. Added check for &&, and output
      message for missing space or rvalue reference according to context.
327 - Fixed false positive for alias-declaration.
326 - Improved accuracy of matching parentheses and angle brackets.
      Previously, if cpplint was trying to match () pairs, those two
      characters are the only things that it looked for. This worked
      reasonably well for everything except <>, which is easily confused
      with operators.  This change takes all other parentheses into account,
      and do not count <> characters as angle brackets if they are inside
      other parenthesized expressions.
325 - Fixed handling of multiple raw strings on the same line.
324 - Better enforcement that braces are used either around all branches of
      the condition, or none. Checks for what seem to be multiple statements
      in an single-line if/else body. Checks for ambigous if/if/else nesting
      without braces.
323 - Fixed false positive for extra space in returning lambdas.
322 - Fixed false positive for tokens with "else" prefix being treated as
      else keyword following a conditional block.
321 - Fixed false positive for placement new being treated as deprecated cast.
320 - Change lint so it no longer warns about use of std::function and related
      features (bind, placeholders) now that function/bind is no longer banned.
319 - Fixed false positive for alignof and alignas being recognized as casts.
318 - Permit std::shared_ptr, std::weak_ptr and std::enable_shared_from_this.
317 - Silence deprecated cast warning for templates using function types as
      the first argument
316 - Remove aligned_storage from the list of blacklisted C++11 features.
315 - Fixed false positive for casting to pointer types.
314 - Do not warn about single-arg constructors with std::initializer_list<>
      not marked as explicit.
313 - Remove lint errors when including <atomic>.
312 - Fixed incorrect parsing of multiple block comments on the same line.
311 - Fixed nesting state parser for classes in template argument list.
310 - Fixed false positive for semicolon after brace for lambdas where there
      is a newline between lambda-introducer and lambda-declarator.
308 - Fixed false positive for global string pointers being treated as string
      values.
307 - Modify cpplint to follow updated style guide on comments in braced
      initializer lists. In particular, don't warn about missing spaces
      if the comment is aligned with the next line.
306 - Fixed false positive for brace initializer list in ternary expression.
305 - Fixed false positive for blank line at start of code block due to elided
      raw string contents.
304 - Add a cpplint.py warning for default captures in lambda expressions.
303 - Recognize unordered_map and unordered_set.
302 - Fixed false positive for trailing semicolons when lambda-capture spans
      multiple lines.
301 - Fixed false positive for trailing semicolon following lambdas.
300 - Fix raw string handling when the next raw string begins on the same line
      that the previous raw string ends.
299 - Fix false C-style cast detection due to trailing "override".
298 - Fix false positive for requiring an argument name in a GMock declaration.
297 - Fixed false positives for blank line warnings near 'extern "C"' blocks.

R=erg@google.com

Review URL: https://codereview.appspot.com/108730043
2014-06-04 18:53:25 +00:00
ralphj@google.com
66b9e1b1c7 fixing a broken character 2014-05-21 20:28:07 +00:00
dbarnett@google.com
4882d60145 Add vimscript style guide and "heavy" style guide. 2014-04-12 06:08:42 +00:00
eh@google.com
0858ea6190 java style guide update: presentation 2014-03-21 18:23:56 +00:00
tunes@google.com
cf1841c032 Update the Common Lisp Style Guide to 1.28. 2014-03-18 00:14:41 +00:00
naomib@google.com
a5eb0c52f8 fixing links 2014-02-23 16:10:08 +00:00
naomib@google.com
544e0db367 fixing a link to the (internal only) externs 2014-02-13 21:15:54 +00:00
naomib@google.com
c2482ee7e9 fixing a link to the style doc 2014-02-13 18:27:17 +00:00
naomib@google.com
23495719eb small css fix 2014-02-13 01:07:04 +00:00
naomib@google.com
3fcaf64db1 First add of the Google AngularJS Style Guide 2014-02-13 00:50:10 +00:00
eh@google.com
4293832aaa java style guide and eclipse configuration update 2014-02-03 23:39:45 +00:00
eh@google.com
d1e499413b java style guide expand TOC 2013-12-30 20:03:36 +00:00
eh@google.com
b631371099 initial commit for java style guide 2013-12-17 22:56:22 +00:00
erg@google.com
1968027290 Add an --extensions flag to change valid file extensions.
The valid cpplint extensions are .h, .cpp, .cc, .cuh and .cu. It is
common for .hpp to be a valid extension to check, the --extensions flag
allows the user to specify which extensions they think are valid.

Patch by Matt Clarkson <mattyclarkson@gmail.com>
2013-12-16 22:48:54 +00:00
erg@google.com
0075d1469a A false positive occurs when a user specifies a using declaration for a stream operator:
10: using ns::operator<<;
    file.cpp:10: Missing spaces around << [whitespace/operators] [3]

The regular expression has been updated to find this valid use case of the <<
text string.

Review URL: https://codereview.appspot.com/22190043

Patch from Matt Clarkson <mattyclarkson@gmail.com>.
2013-11-05 22:28:07 +00:00
erg@google.com
ab53edf6ff Added a --linelength flag so that the default of 80 can be changed.
Review URL: https://codereview.appspot.com/22180043

Patch from Matt Clarkson <mattyclarkson@gmail.com>.
2013-11-05 22:23:37 +00:00
erg@google.com
6d8d983b11 In cpplint, permit Dodxygen C++ annotations, which come after members, e.g.
int var; //!< Brief description after the member
or
  int var; ///< Brief description after the member

Cf. http://www.stack.nl/~dimitri/doxygen/manual/docblocks.html#memberdoc

Currently, cpplint accepts comments after members, cf.
http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml?showone=Implementation_Comments#Implementation_Comments
and it accepts also the doxygen comments of the type "///" (followed by a new line) and
"/// " (followed by a comment). Only the Doxygen annotations, which come
after members are rejected, which is fixed by this patch.

Review URL: https://codereview.appspot.com/14607044

Patch from Tobias Burnus <burnus@net-b.de>.
2013-10-31 19:46:18 +00:00
erg@google.com
2aa5998d82 Update cpplint.py to #296:
- Check for NUL bytes in the file.
- Fixed many false positives related to brace initialization.
- Improved accuracy of parsing reference template parameters.
- Added support for C++11 raw strings.
- Added CUDA extensions to those allowed by cpplint.
- Added check for incomplete namespaces.
- Silence warnings for missing spaces after comma due to elided
  comments.
- Rephrased some messages so that they're actionable.
- Fix false positive on namespace qualified function pointer arguments.
- Fix false positive for operators which return strings.
- Revive the VLOG check.

R=mark@chromium.org

Review URL: https://codereview.appspot.com/17450043
2013-10-28 19:09:25 +00:00
erg@google.com
c667123215 Update cpplint.py to #267:
- Handle parentheses in CHECK() calls properly.
- Fixed multiple false positives where various things like
  std::fucntion<> or function pointers were being mistaken for casts.
- Fixed whitespace warning on placement new.
- Fixed multiple false positives related to const references.
- Added warning for empty conditional bodies.
- Stop advising the use of readdir_r instead of readdir.
- Fixed false positive for empty macro arguments.
- Fixed false positvie for braced initializer lists.
- Don't warn about unnamed parameters in function pointers.

R=mark@chromium.org

Review URL: https://codereview.appspot.com/17400043
2013-10-25 21:44:03 +00:00
erg@google.com
fd5da63478 Update cpplint.py to #242:
- Check indentation of public/protected/private keywords.
- Remove RTTI warning.
- Silence warning about multiple inheritance from global namespace.
- Copy ctors don't need "explicit".
- Understand "const char* const&" as a const reference.
- Remove runtime/sizeof.
- Recognize the "catch" keyword.
- List C++11 headers
- Allow sscanf()
- Allow for one extra level of nesting in template class decls.
- False positive for semicolons after single-line nameless unions.

R=mark@chromium.org

Review URL: https://codereview.appspot.com/15740044
2013-10-25 17:39:45 +00:00
mark@chromium.org
7b24563e08 Update C++ style guide to 3.274:
- Change formatting rules of braced initializers.
 - Permit use of constexpr and allow constexpr global variables.
 - Allow all C++11 features except for those that are specifically banned.
 - Fix/add C99 format specifiers for ptrdiff_t and ssize_t.
 - Add lambda expressions to the list of explicitly banned C++11 features.
 - Relax "return type is always on the same line as the function name" rule.
 - Allow unique_ptr, discourage ownership transfer. Allow noncopyable std::move.
 - Allow system-specific includes after other includes.
 - Add boost/math/distributions to the set of permitted Boost libraries.

Update Objective-C style guide to 2.59:
 - Use instancetype as return type for example init methods.
 - Remove invalid +stringWithInt: call.
 - Remove reference to pre-Objective-C 2.0 declaration requirements.
 - Remove reference to Objective-C exception macros.
 - Remove reference to informal protocols as an alternative to optional methods.
 - Class headers should include comments documenting non-trivial interfaces.
 - Don't specify that blocks are preferable to methods as callbacks.
 - Specify "strong" and "weak" as comments for non-Objective-C pointers.
 - Replace improper reference to ownership of a retained object.
 - Clarify some aspects of method ordering rules.
 - Prefixes are required for shared code and optional for applications.
 - Clarify that nil pointers are safe as receivers, not necessarily parameters.
 - Clarify that delegate pointers should typically be zeroing weak pointers.
 - Allow a 100-column limit, except for projects that choose to use 80.

Update Python style guide to 2.59:
 - Add more examples of bad code to the default arguments section.
 - Allow ''' when ' is used as the single quote within a file.
 - Remove references to pychecker. Recommend pylint.
 - Add more examples to the indentation section.

Update JavaScript style guide to 2.93:
 - Add @nocompile.
 - Fix a few typos.
 - When wrapping lines, indent more deeply for child expressions.
 - Document that @const can be used on a constructor.
 - Update eval section to discourage using eval for RPC.
 - Update an example to avoid encouraging using numbers as booleans.
 - Allow for no indentation of @desc jsdoc tags.
 - Add @public discussion.

Update shell style guide to 1.26:
 - Add a section on style for case statements.

Update Common Lisp style guide to 1.23:
 - fare-matcher was superseded by optima.
 - Clarify wording regarding DYNAMIC-EXTENT.
2013-09-25 21:16:00 +00:00
tunes@google.com
d6c053f670 Update Common Lisp Style Guide to 1.22:
* tweak some typos and bad formatting
* refer to ASDF3's UIOP rather than its predecessors.
2013-09-19 17:26:22 +00:00