Skip to content

Latest commit

 

History

History
79 lines (48 loc) · 2.89 KB

CONTRIBUTING.md

File metadata and controls

79 lines (48 loc) · 2.89 KB

Contributing

You can contribuite to RED4ext.SDK with issues, ideas and PRs. Simply filling issues or propose new ideas is a great way to contribute.

Content guidelines

The issue tracker is exclusively for filling and discussing bugs and featurerequests, it is not for scripting support (e.g. How do I get X handler?, How can I call X function?, etc.). For any other kind of discussion use discussions.

Reporting a bug or requesting a feature

Before filing a bug report or requesting a new features ensure the bug reproduces on the latest version of the library and search existing issues and make sure this issue is not already filed.

Code guidelines

Language

The project is using C++20, any C++20 features are allowed.

General

  • Use EditorConfig and clang-format to style your code before pushing.
  • Use names that describe the purpose or intent of the object. Names should be self-explanatory and easily recognizable in the context.
  • Minimize the use of abbreviations that would likely be unknown to someone outside of the project.
  • Use auto whenever it is possible, if the intended type is the correct one (in case of primitive types).
  • Brackets ({}) must be on new line.

Namespaces

  • Namespaces must be PascalCase.
  • The code must be in RED4ext namespace, even reversed types.

Classes

  • Class names must be PascalCase.
  • Use class and struct acordingly.
    • A rule of thumb is to use struct for reversed types or objects that carry data, for everything else use class.

Functions

  • Function names should be PascalCase.

Variables

  • Class data members should be prefixed with m_.
  • Function arguments should be prefixed with an a (argument).
  • Local variables should be camelCase.
  • Structs data members are named like ordinary variables.

Enumerators

  • Enumerators names must be PascalCase.
  • Always use enum class over enum.

Macros

  • Marcos should named with uppercase letters.
  • Prefix macros with RED4EXT_.

Commit messages

Please try to format commit messages as follows (based on A Note About Git Commit Messages):

Short (50 characters or less) summary

Provide a more detailed (72 characters or so) text after the first line,
if necessary, leave one blank line below the summary.

If the commit fixes an issue, leave another blank line after the final paragraph
and indicate which issue is fixed.

Fix #1

License

The project is licensed under the MIT license detailed in LICENSE.md file. All incoming code is subject to the project's LICENSE.

Do not use code that is not yours or is not compatible with the project's LICENSE.