If you want to help with the development of Otter Browser, please observe the following rules.
- Make sure that you have a GitHub account.
- Check if the issue has already been reported (including closed tickets).
- Check list of known upstream issues.
- If possible, try to reproduce the issue with current snapshot from relevant branch of the source code repository.
- Create a ticket for your issue.
- Describe the issue clearly and succinctly.
- In case of bug reports:
- describe the steps required to reproduce issue,
- attach a backtrace if you have any,
- post details about your setup:
- application version (for example, 1.0.01 32 bit),
- system version (for example, Ubuntu 18.04 64 bit),
- Qt version (for example, Qt 5.6.0 MSVC 64 bit).
- Make sure that you have a GitHub account.
- Ensure that nobody is currently working on the selected task (check if someone is assigned to the ticket or ask on #otter-browser at freenode).
- Fork the repository on GitHub.
- Create a branch just for that task.
- Submit your changes as a pull request so they can be reviewed.
- Patiently wait for the review.
- Use the Allman coding style with tabs for indentation.
- Follow a naming scheme that is consistent with the existing code.
- Use const as often as possible (both for local variables and method signatures).
- Wrap text correctly using
QString
,QStringLiteral
orQLatin1String
. Remember to usetr()
for translateable texts. - Avoid long lines but also try not to break up if-statements etc. Any good editor should be able to wrap long lines.
- Try to keep a proper order of methods in the source file (check existing code in case of doubt):
- constructor(s),
- destructor,
- methods returning void (reimplementations of
*Event
methods and others should go first), - setters,
- methods returning value (from pointers through data structures to primitive data types).