Contributing
Contributions are welcomed via pull requests on GitHub. Contact the fresnel developers before starting work to ensure it meshes well with the planned development direction and standards set for the project.
Features
Implement functionality in a general and flexible fashion
New features should be applicable to a variety of use-cases. The fresnel developers can assist you in designing flexible interfaces.
Maintain performance of existing code paths
Expensive code paths should only execute when requested.
Version control
Base your work off the correct branch
All pull requests should be based off of master
.
Agree to the contributor agreement
All contributors must agree to the Contributor Agreement before their pull request can be merged.
Source code
Use a consistent style
The Code style section of the documentation sets the style guidelines for fresnel code.
Document code with comments
Use C++ comments for classes, functions, etc… Also comment complex sections of code so that other developers can understand them.
Compile without warnings
Your changes should compile without warnings.
Tests
Write unit tests
Add unit tests for all new functionality.
Documentation
User documentation
Document public-facing API with Python docstrings in Google style.
Add developer to the credits
Update the credits documentation to list the name and affiliation of each individual that has contributed to the code.
Propose a change log entry
Propose a short concise entry describing the change in the pull request description.