Contributions to LiSA are always welcome! Thank you for taking time to make LiSA grow!
- Always add an
@author
javadoc entry on the classes that you are creating, this helps contacting the appropriate person for clarifications and comments! - If you are implementing a solution defined in a scientific paper, please cite it at the top each file that is part of that implementation.
- Keep the code readable!
- Use english for naming classes, methods, fields and variables.
- Avoid writing too long methods, too many nested loops or conditions.
- Smart comments are appreciated: every time you perform optimizations, or you take explicit implementation strategies that might be criptic, be sure to explain what you are doing.
- Write complete javadoc for everything that is not private: understanding the purpose of all code members is important for avoiding bugs
- Avoid runtime exceptions where possible, and try to stick with specific exception instances (e.g., avoid
RuntimeException("Illegal state")
in favor ofIllegalStateException()
) - Spacing is important for readability!
- Make sure people know the motivation of your work and can track its history even after you completed it: create an issue describing what you are doing.
- Use the appropriate issue template, and be sure to fill every section as accurately as possible.
- After forking this repository, create a topic branch for you to work on.
- You should base your branch on the
master
branch. - Name branch after issues: naming a branch
yourusername/#issuenbr-issue-topic
enables anyone to understand who is working on what in that branch. - Try to keep different issues separated in different branch.
- You should base your branch on the
- Commit messages should be clear for everyone, not just yourself.
- Commit related to an issue should start with the issue identifier:
#issuenbr fixing ...
. - The commit message should be short and intuitive. If you feel the need for a longer explaination, separate the title of the commit from the full description with an empty line, and the fully elaborate your commit message.
- Commit related to an issue should start with the issue identifier:
- Make sure you have added the necessary tests for your changes under in
src/test/java
. - Run a complete build with
gradle completeBuild
before creating a pull request! This will ensure that LiSA still builds fine and that all of the tests are passing.
- Push your changes to your topic branch.
- Submit a Pull Request!
- Check that the Files Changed tab matches what you want to deliver.
- Keep in mind that more file changed means more review time required.
- Link the PR in the original issue.
- Add the PR with the
work in progress
label if you do not want reviewers to work on it yet.