Contributor Guidelines - logitopia/jmortar-core-persistence GitHub Wiki

Introduction

Outlines guidelines for contributing to this project.

Table of Contents

Code of Conduct

All contributions and contributors MUST follow our code code of conduct guidelines. These are detailed here.

Raising Issues

Raising issues is a core part of the project contribution. It helps us to understand:

  • What is broken
  • What functionality would make the product even more useful to you
  • Larger priorities

It is vital that when you create a ticket, you give as much detail as possible. Let’s take a look at the two main issue types and what kind of detail we would expect to see.

Bug

No one likes bugs, so when you find one it is important that you raise it. The following detail should help us resolve the issue as quickly and as thoroughly as possible.

  • Product Version - The specific version of the library that you were using when the issue occurred.
  • Description - This is a specific description of the error / issue that has occurred. When writing this ask yourself “what went wrong?”
  • Expected Outcome - Here we are asking “what should have happened, instead of that nasty bug”. This could be what was documented to happen, or simply what you would have expected to occur.

Enhancements

If you have a good idea for a feature for the product, it would be really great to hear about it! Please feel free to raise an issue for a new features. All feature requests should be formatted as user stories. Make sure you include the following details.

  • User Story - The description of the feature.
  • Acceptance Criteria - What must the feature have “as a minimum” to be accepted as “complete”.

Code Quality

It’s important that all contributions are as high quality as possible. Here are some code quality guidelines for this project.

Commentary / Documentation

All code should be well documented. If your writing Java or Groovy then it should have thorough javadoc, or groovydoc, commentary. This will make sure that the API makes sense when released.

Testing

Amendments to the code should always be tested, where appropriate. The minimum standard for code coverage is 75%. You can run jacoco reports using gradle.

FAQ

Who are “contributors”?

A “contributor” is someone who makes additions or changes to the project.