The way a person could test their code and see if it works is to run it in the context of the project and see how it fits. Depending on the code and the project, one could also share the code with other developers and see how it works on their own computer.
In the context of my own contribution to Strudel, the way I tested the code was to create a separate file. I then wrote the console log function in it to see if I would have the correct outputs in the terminal.
At first I chose an issue and decided to not contact anyone through Discord or GitHub. I thought that the issue was pretty straight-forward and I will be fine working on it. Well, after some time I realised I misunderstood the issue and that the feature I was working on had already been implemented. I then chose another one and after spending some time on it I was not sure how to properly solve it. After that I decided to send a message on the discord channel and someone replied to me after 2 hours (will write more about that in the blog post dedicated to me solving the respective issue). After that someone labeled the issues that they considered “good first issues” on GitHub. I chose one of them and I managed to solve it. For communicating my work in progress I did not contact anyone as I thought I understood the issue.
If it was a “bigger” issue that would change a big part of the code or add huge changes to the project, I would make sure that the community and the audience find the contribution relevant. I would also want to know what they think of the implementation or how they feel about the code. I would ask the audience and the other member of the community for feedback and what they think. In the end, open source projects are all about communities. You have to think about how your code impacts others and their experience with the respective project. The coder needs to make sure that their contribution will be helpful and will have a positive impact.
To share the final outcome, I would pull the request on Github and wait until it gets accepted, and then for people to start using it. I would be interested in hearing their feedback and opinions on it.
I think it is very important to remember that a contribution is not just for you as an individual, but has the potential to improve or change something for an entire community.
