doc,meta: add references to outside C++ guides
with explicit priorities PR-URL: https://github.com/nodejs/node/pull/23317 Reviewed-By: Anna Henningsen <anna@addaleax.net>
This commit is contained in:
parent
9d1c9d7e9b
commit
0f8eaa4712
@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
|
* [Guides and References](#guides-and-references)
|
||||||
* [Formatting](#formatting)
|
* [Formatting](#formatting)
|
||||||
* [Left-leaning (C++ style) asterisks for pointer declarations](#left-leaning-c-style-asterisks-for-pointer-declarations)
|
* [Left-leaning (C++ style) asterisks for pointer declarations](#left-leaning-c-style-asterisks-for-pointer-declarations)
|
||||||
* [C++ style comments](#c-style-comments)
|
* [C++ style comments](#c-style-comments)
|
||||||
@ -25,14 +26,30 @@
|
|||||||
* [Avoid throwing JavaScript errors in C++ methods](#avoid-throwing-javascript-errors-in-c)
|
* [Avoid throwing JavaScript errors in C++ methods](#avoid-throwing-javascript-errors-in-c)
|
||||||
* [Avoid throwing JavaScript errors in nested C++ methods](#avoid-throwing-javascript-errors-in-nested-c-methods)
|
* [Avoid throwing JavaScript errors in nested C++ methods](#avoid-throwing-javascript-errors-in-nested-c-methods)
|
||||||
|
|
||||||
Unfortunately, the C++ linter (based on
|
|
||||||
[Google’s `cpplint`](https://github.com/google/styleguide)), which can be run
|
## Guides and References
|
||||||
explicitly via `make lint-cpp`, does not currently catch a lot of rules that are
|
|
||||||
specific to the Node.js C++ code base. This document explains the most common of
|
The Node.js C++ codebase strives to be consistent in its use of language
|
||||||
these rules:
|
features and idioms, as well as have some specific guidelines for the use of
|
||||||
|
runtime features.
|
||||||
|
|
||||||
|
Coding guidelines are based on the following guides (highest priority first):
|
||||||
|
1. This document
|
||||||
|
2. The [Google C++ Style Guide][]
|
||||||
|
3. The ISO [C++ Core Guidelines][]
|
||||||
|
|
||||||
|
In general code should follow the C++ Core Guidelines, unless overridden by the
|
||||||
|
Google C++ Style Guide or this document. At the moment these guidelines are
|
||||||
|
checked manually by reviewers, with the goal to validate this with automatic
|
||||||
|
tools.
|
||||||
|
|
||||||
## Formatting
|
## Formatting
|
||||||
|
|
||||||
|
Unfortunately, the C++ linter (based on [Google’s `cpplint`][]), which can be
|
||||||
|
run explicitly via `make lint-cpp`, does not currently catch a lot of rules that
|
||||||
|
are specific to the Node.js C++ code base. This document explains the most
|
||||||
|
common of these rules:
|
||||||
|
|
||||||
### Left-leaning (C++ style) asterisks for pointer declarations
|
### Left-leaning (C++ style) asterisks for pointer declarations
|
||||||
|
|
||||||
`char* buffer;` instead of `char *buffer;`
|
`char* buffer;` instead of `char *buffer;`
|
||||||
@ -304,4 +321,8 @@ not inside of nested calls.
|
|||||||
|
|
||||||
Using C++ `throw` is not allowed.
|
Using C++ `throw` is not allowed.
|
||||||
|
|
||||||
|
|
||||||
|
[C++ Core Guidelines]: http://isocpp.github.io/CppCoreGuidelines/CppCoreGuidelines
|
||||||
|
[Google C++ Style Guide]: https://google.github.io/styleguide/cppguide.html
|
||||||
|
[Google’s `cpplint`]: https://github.com/google/styleguide
|
||||||
[errors]: https://github.com/nodejs/node/blob/master/doc/guides/using-internal-errors.md
|
[errors]: https://github.com/nodejs/node/blob/master/doc/guides/using-internal-errors.md
|
||||||
|
Loading…
x
Reference in New Issue
Block a user