-
-
Notifications
You must be signed in to change notification settings - Fork 144
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add initial clang format and tidy
- Loading branch information
1 parent
fbff445
commit 0a74133
Showing
5 changed files
with
226 additions
and
86 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
--- | ||
Language: Cpp | ||
BasedOnStyle: Microsoft | ||
ColumnLimit: 120 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,111 @@ | ||
--- | ||
# Configure clang-tidy for this project. | ||
|
||
# Here is an explanation for why some of the checks are disabled: | ||
# | ||
# -google-readability-namespace-comments: the *_CLIENT_NS is a macro, and | ||
# clang-tidy fails to match it against the initial value. | ||
# | ||
# -modernize-use-trailing-return-type: clang-tidy recommends using | ||
# `auto Foo() -> std::string { return ...; }`, we think the code is less | ||
# readable in this form. | ||
# | ||
# --modernize-concat-nested-namespaces: clang-tidy recommends | ||
# `namespace google::cloud {}` over `namespace google { namespace cloud { } }` | ||
# We need to support C++14, which does not supported nested namespaces. | ||
# | ||
# --modernize-use-nodiscard: clang-tidy recommends adding a nodiscard annotation | ||
# to functions where the return value should not be ignored. | ||
# We need to support C++14, which does not supported the annotation. | ||
# | ||
# -modernize-return-braced-init-list: We think removing typenames and using | ||
# only braced-init can hurt readability. | ||
# | ||
# -modernize-avoid-c-arrays: We only use C arrays when they seem to be the | ||
# right tool for the job, such as `char foo[] = "hello"`. In these cases, | ||
# avoiding C arrays often makes the code less readable, and std::array is | ||
# not a drop-in replacement because it doesn't deduce the size. | ||
# | ||
# -performance-move-const-arg: This warning requires the developer to | ||
# know/care more about the implementation details of types/functions than | ||
# should be necessary. For example, `A a; F(std::move(a));` will trigger a | ||
# warning IFF `A` is a trivial type (and therefore the move is | ||
# meaningless). It would also warn if `F` accepts by `const&`, which is | ||
# another detail that the caller need not care about. | ||
# | ||
# -readability-redundant-declaration: A friend declaration inside a class | ||
# counts as a declaration, so if we also declare that friend outside the | ||
# class in order to document it as part of the public API, that will | ||
# trigger a redundant declaration warning from this check. | ||
# | ||
# -readability-function-cognitive-complexity: too many false positives with | ||
# clang-tidy-12. We need to disable this check in macros, and that setting | ||
# only appears in clang-tidy-13. | ||
# | ||
# -bugprone-narrowing-conversions: too many false positives around | ||
# `std::size_t` vs. `*::difference_type`. | ||
# | ||
# -bugprone-easily-swappable-parameters: too many false positives. | ||
# | ||
# -bugprone-implicit-widening-of-multiplication-result: too many false positives. | ||
# Almost any expression of the form `2 * variable` or `long x = a_int * b_int;` | ||
# generates an error. | ||
# | ||
# -bugprone-unchecked-optional-access: too many false positives in tests. | ||
# Despite what the documentation says, this warning appears after | ||
# `ASSERT_TRUE(variable)` or `ASSERT_TRUE(variable.has_value())`. | ||
# | ||
Checks: > | ||
-*, | ||
abseil-*, | ||
bugprone-*,GetGame | ||
google-*, | ||
misc-*, | ||
modernize-*, | ||
performance-*, | ||
portability-*, | ||
readability-*, | ||
-google-readability-braces-around-statements, | ||
-google-readability-namespace-comments, | ||
-google-runtime-references, | ||
-misc-non-private-member-variables-in-classes, | ||
-misc-const-correctness, | ||
-modernize-return-braced-init-list, | ||
-modernize-use-trailing-return-type, | ||
-modernize-concat-nested-namespaces, | ||
-modernize-use-nodiscard, | ||
-modernize-avoid-c-arrays, | ||
-performance-move-const-arg, | ||
-readability-braces-around-statements, | ||
-readability-identifier-length, | ||
-readability-magic-numbers, | ||
-readability-named-parameter, | ||
-readability-redundant-declaration, | ||
-readability-function-cognitive-complexity, | ||
-readability-convert-member-functions-to-static, | ||
-bugprone-narrowing-conversions, | ||
-bugprone-easily-swappable-parameters, | ||
-bugprone-implicit-widening-of-multiplication-result, | ||
-bugprone-unchecked-optional-access | ||
# Turn all the warnings from the checks above into errors. | ||
WarningsAsErrors: "*" | ||
|
||
HeaderFilterRegex: "(google/cloud/|generator/).*\\.h$" | ||
|
||
CheckOptions: | ||
- key: readability-identifier-naming.ClassCase | ||
value: CamelCase | ||
- key: readability-identifier-naming.EnumCase | ||
value: CamelCase | ||
- key: readability-identifier-naming.FunctionCase | ||
value: camelBack | ||
- key: readability-identifier-naming.MemberCase | ||
value: CamelCase | ||
- key: readability-identifier-naming.ParameterCase | ||
value: camelBack | ||
- key: readability-identifier-naming.UnionCase | ||
value: CamelCase | ||
- key: readability-identifier-naming.VariableCase | ||
value: CamelCase | ||
... |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,2 @@ | ||
# Disable all checks in this folder. | ||
Checks: '-*' |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.