Android C++ Coding Style
This article discusses recommended coding style guidelines for C++ development on the Android platform. These guidelines are designed to improve code readability, maintainability, and consistency across projects.
General Guidelines
- Indentation: Use 4 spaces for indentation.
- Line Length: Limit line length to 100 characters.
- Braces: Place opening brace on the same line as the statement.
- Whitespace: Use consistent whitespace around operators, keywords, and commas.
- Naming Conventions:
- Classes: Use PascalCase (e.g.,
MyClass
). - Variables and Methods: Use camelCase (e.g.,
myVariable
,myMethod
). - Constants: Use all uppercase with underscores (e.g.,
MY_CONSTANT
). - Namespaces: Use lowercase and underscores (e.g.,
android_namespace
).
- Classes: Use PascalCase (e.g.,
- Comments:
- Use clear and concise comments.
- Use
//
for single-line comments and/* */
for multi-line comments. - Document public interfaces with JavaDoc-style comments.
Specific Recommendations
- Use RAII (Resource Acquisition Is Initialization): Prefer RAII to manage resources (e.g., use
std::unique_ptr
andstd::shared_ptr
). - Avoid Global Variables: Minimize the use of global variables.
- Use Standard C++ Library: Utilize the standard C++ library whenever possible.
- Handle Errors Gracefully: Implement proper error handling mechanisms (e.g., exceptions, error codes).
- Be Mindful of Memory Usage: Avoid memory leaks and excessive memory consumption.
- Consider Performance: Optimize for performance when necessary, but balance it with readability and maintainability.
- Use the
const
Keyword: Declare variables and methods asconst
whenever possible. - Avoid Using
new
anddelete
Directly: Use smart pointers and RAII.
Example
#include
namespace android_example {
class MyClass {
public:
MyClass(int value) : m_value(value) {}
int GetValue() const {
return m_value;
}
private:
int m_value;
};
} // namespace android_example
int main() {
android_example::MyClass myObject(10);
std::cout << "Value: " << myObject.GetValue() << std::endl;
return 0;
}
Conclusion
Following a consistent and well-defined coding style improves code quality and reduces the likelihood of errors. These guidelines provide a strong starting point for C++ development on the Android platform. Remember to tailor these guidelines to your specific project needs and preferences.