Minikin Style Guide

The C++ style in Minikin follows Android Framework C++ Code Style Guide except for following rules:

  • Order of include

In dir/foo.cc or dir/foo_test.cc, whose main purpose is to implement or test the stuff in
dir2/foo2.h, order your includes as follows:

  1. dir2/foo.h
  2. A blank line
  3. C system files
  4. C++ system files
  5. A blank line
  6. Other libraries' files
  7. A blank line
  8. Minikin public files
  9. A blank line
  10. Minikin private files

For example,
```
#include "minikin/Layout.h" // The corresponding header file.

#include <math.h> // C system header files.
#include // C++ system header files.

#include <hb.h> // Other library, HarfBuzz, header file.
#include <log/log.h> // Other library, Android, header file.
#include <unicode/ubidi.h> // Other library, ICU, header file.

#include "minikin/Emoji.h" // The minikin public header file.
#include "HbFontCache.h" // The minikin private header file.
```

  • "<>" vs ""

  • #include <...> should be used for non local library files.

  • #include "..." should be used for minikin header files.