Skip to content

Latest commit

 

History

History
98 lines (77 loc) · 4.64 KB

CONTRIBUTING.md

File metadata and controls

98 lines (77 loc) · 4.64 KB

Please note that while this repository is public, at the moment no contributions from outside contributors are accepted. This project is a TU Delft course project (TI3806) and the course rules disallow this. As such, for now this documents merely acts as an internal set of guidelines.

Submitting contributions

  • Make it clear in the issue tracker what you are working on.
  • Keep the sprint backlog up to date.
  • Be descriptive in your pull request description: what is it for, why is it done this way, etc, or which user story.
  • Do not make cosmetic changes to unrelated files or sections in the same pull request. This creates noise, making reviews harder to do.

Tagging in the issue tracker

When submitting pull requests (commonly referred to as "PRs"), include one of the following tags prepended to the title:

  • [WIP] - Work In Progress: the PR will change, so while there is no immediate need for review, the submitter still might appreciate it.
  • [RFC] - Request For Comment: the PR needs reviewing and/or comments.
  • [RDY] - Ready: the PR has been reviewed by at least one other person and has no outstanding issues.

Please keep your tags up to date.

Branching & history

For code pull requests

Before making a pull request, please rebase on upstream master (see above) and provide a clean history (see above). Please also make sure to run mvn test, to see if there are any outstanding issues (Checkstyle (see below), PMD, FindBugs, etc).

Testing

All PRs are expected to have (unit) tests to go with them. If no tests are provided, PRs will not be merged unless there is a viable reason. PRs will also not be merged if the Travis continuous integration build fails.

Coding style

For new code, run Checkstyle to detect style errors. It's not perfect, so some warnings may be false positives/negatives. Maven is set up to fail on every style error. Should Checkstyle report too much false positives/negatives, please edit Checkstyle's configuration. To have Checkstyle ignore certain cases, see this stackoverflow question.

Commit guidelines

The purpose of these guidelines is to make reviews easier and make the history logs more valuable.

  • Try to keep the first line under 72 characters.
  • If necessary, include further description after a blank line.
    • Don't make the description too verbose by including obvious things, but don't spare clarifications for anything that may be not so obvious. Some commit messages are pages long, and that's fine if there's no better place for those comments to live.
    • Recommended: Prefix logically-related commits with a consistent identifier in each commit message. For already used identifiers, see the commit history for the respective file(s) you're editing. For example: <ClassName>: fix all the issues
  • Use the imperative voice: "Fix bug" rather than "Fixed bug" or "Fixes bug."

Reviewing pull requests

You may find it easier to instead use an interactive program for code reviews, such as tig.

Kindly taken and modified from neovim.