Skip to content

Commit

Permalink
Add a style note about Linux embedding style (flutter#21819)
Browse files Browse the repository at this point in the history
  • Loading branch information
stuartmorgan authored Oct 15, 2020
1 parent b715d3f commit f398204
Showing 1 changed file with 8 additions and 1 deletion.
9 changes: 8 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,18 @@ contributing guide.

The Flutter engine follows Google style for the languages it uses:
- [C++](https://google.github.io/styleguide/cppguide.html)
- **Note**: The Linux embedding generally follows idiomatic GObject-based C style.
Use of C++ is discouraged in that embedding to avoid creating hybrid code that
feels unfamiliar to either developers used to working with GObject or C++ developers.
E.g., do not use STL collections or std::string. Exceptions:
- C-style casts are forbidden; use C++ casts.
- Use `nullptr` rather than `NULL`.
- Avoid `#define`; for internal constants use `static constexpr` instead.
- [Objective-C](https://google.github.io/styleguide/objcguide.html) (including
[Objective-C++](https://google.github.io/styleguide/objcguide.html#objective-c))
- [Java](https://google.github.io/styleguide/javaguide.html)

C++ and Objective-C/C++ files are formatted with `clang-format`, and GN files with `gn format`.
C/C++ and Objective-C/C++ files are formatted with `clang-format`, and GN files with `gn format`.

[build_status]: https://cirrus-ci.com/github/flutter/engine
[code_of_conduct]: https://github.com/flutter/flutter/blob/master/CODE_OF_CONDUCT.md
Expand Down

0 comments on commit f398204

Please sign in to comment.