Contribution Guidelines - GatorGauge/GatorGauge GitHub Wiki

Creating a new issue

When possible, issues should be focused and executable tasks.

Titling

Title issues like items in a to-do list: "Do this". "Add this". "Implement this". "Test this". The title should follow typical sentence capitalization. Only the first letter of the title and other proper nouns should be capitalized. Ex. "Set up arguments parsing and logging configuration".

Content

Issues should be tasks that can be resolved quickly. If an issue describes a task that requires coordination with many other features, the issue should be broken down into smaller issues. For instance, "Add usage documentation" is too broad of an issue because it depends on all of the implementation to be completed and use cases to be known. A better approach would be to create a documentation issue for each component that has been completed. Ex. "Add usage documentation for logging levels".

Closing

Please comment the reason before closing an issue.

Branch naming

To resolve an issue, create a issue branch off of master that abides by the naming convention: feature/i-<issue number>-<short>-<issue>-<title>. Ex. feature/i-4-args-parse-logging-config.

If you would like to branch off of an issue, simply name the branch i-<issue number>/<short>-<task>-<title>. Ex. i-4/creating-parser.

Use hyphens, not underscores.

Definition of done

Code that is done and ready to request to be merged into master via a pull request must be compliant with PEP8 standards, commented, and unit tested.

Unit Testing

For each program file, create its corresponding test file within the /tests directory. The test file should be named test_<file>_<name>.py. Ex. If the test file is for the program file parse_arguments.py, it should be named test_parse_arguments.py.

Each function, if possible, should be covered by a test case. The test cases should be named test_<function>_<name>_<condition>_<description>. Ex. If you are testing the parse_arguments function in the parse_arguments.py file, a test case may be named test_parse_arguments_debug_logging_level. This would indicate that you are testing the parse_arguments function with the debug logging level condition.

⚠️ **GitHub.com Fallback** ⚠️