Skip to content

Latest commit

 

History

History
33 lines (24 loc) · 1.96 KB

CONTRIBUTING.md

File metadata and controls

33 lines (24 loc) · 1.96 KB

Contributing

Setting up development environment

Please see our guides for setting up your dev environment.

Commiting, branching, and versioning

Naming conventions, code style, and formatting

For this project, we use the same naming conventions as Microsoft's .NET framework. A summary can be found here.

Note: ALL public methods/properties/variables defined in public classes require XML documentation comments.

Additionally, we enforce the following naming rules:

  • Visibility of classes, methods, properties, and variables should always be specified, and should never be left blank (even if meant to be internal)
  • Message methods (ex. Awake, Update) inherited from Unity's Monobehaviour should be internal or private
  • Manager type class names must be suffixed with Manager
  • Config type class names must be suffixed with Config
  • Util type classes consisting of mainly static methods should be suffixed with either Util or Helper, and be placed in the Utils namespace
  • All extension methods for classes should be in the Extensions namespace, and the class names should be suffixed with Extension

This is not strict, however, methods and methods defined in classes should ideally be defined in the following order:

  • (public, internal, private) const variables
  • (public, internal, private) static properties
  • (public, internal, private) readonly variables
  • (public, internal, private) variables
  • (public, internal, static) methods
  • (public, internal, static) methods