Mentoring and Collaboration#

Writing code collaboratively#

We firmly believe that code can only get better if more than two eyes and one brain work on it. Therefore, we aim to write code collaboratively, in particular, when comprehensive refactoring or enhancements of the code are done. In practice, this can be done by creating a draft pull request. This makes it really easy to iteratively improve a pull request with the feedback from others until the pull request is ready for review.

When you work on a comprehensive feature with multiple developers, it is recommended to create a draft pull request on the dev_* branch. As explained in our branching strategy, this branch does not undergo any protection rules. It is meant to experiment with new code and all collaborators of the tobac-project organization can directly push to this branch. Creating a draft pull request has the advantage of facilitating the communication with other developers who contribute to the same new feature. You can directly see which changes they make, comment these and discuss ways to go forward.

Get a mentor#

Is this your first time contributing to an open-source project?

Reach out to the tobac developer group and get a mentor! One of our developers will help you getting started and explain how our workflow works. You are, of course, always free to post any questions to GitHub discussions, our Slack channel, or write an email. But sometimes it can also be nice to have a specific person to refer to when things seem overwhelming in the beginning.

Pair reviews#

Another great way of collaboration are pair reviews which means that you are reviewing code together with another developer. You can, for example, reach out to us when you have submitted a pull request and would like to talk through the review points with one of the reviewers in order to collaboratively come up with creative solutions to remaining issues. If you are a reviewer, you can offer a pair review to the person who created the pull request and help them addressing certain review points.