mirror of
https://github.com/PikaMug/Quests.git
synced 2024-11-05 10:20:46 +01:00
2.6 KiB
2.6 KiB
Contributing
Thank you for your interest in contributing to Quests! We appreciate your effort, but to make sure that the inclusion of your patch is a smooth process, we ask that you make note of the following guidelines.
- Target Java 16 for source and compilation. Make sure to mark methods with
@Override
that override methods of parent classes, or that implement methods of interfaces. - Use only spaces for indentation. Our indents are 4-spaces long, and tabs are unacceptable.
- Wrap code to a 120 column limit. We do this to make side by side diffs and other such tasks easier. Ignore this guideline if it makes the code too unreadable.
- Write complete Javadocs. Do so only for public methods, and make sure
that your
@param
and@return
fields are not just blank. - Don't tag classes with @author. Some legacy classes may have this tag, but we are phasing it out.
- Make sure the code is efficient. One way you can achieve this is to spend around ten minutes to think about what the code is doing and whether it seems awfully roundabout. If you had to copy the same large piece of code in several places, that's bad.
- Keep commit summaries under 70 characters. For more details, place two new lines after the summary line and write away!
- Test your code. We're not interested in broken code, for the obvious reasons.
Branches
When submitting a feature or bugfix, base your code on the newest development branch,
and PR against that same branch. If such a branch does not exist, base your code
against the master
branch, and PR against that same branch.
Checklist
Ready to submit? Perform the checklist below:
- Have all tabs been replaced into four spaces? Are indentations 4-space wide?
- Have I written proper Javadocs for my public methods? Are the @param and @return fields actually filled out?
- Have I run
git rebase
to the latest commit of the target branch? - Have I combined my commits into a reasonably small number (if not one)
commit using
git rebase
? - Have I made my pull request too large? Pull requests should introduce small sets of changes at a time. Major changes should be discussed with other contributors prior to starting work.
- Are my commit messages descriptive?
Example
This is GOOD:
if (var.func(param1, param2)) {
// do things
}
This is BAD:
if(vAR.func( param1, param2 ))
//do things