Before I start this blog post I would like to thank the Dev team for shouting me out on Twitter! It meant a lot and I truly appreciate it! Now, welcome to my blog post about me contributing to another developers open source project and how you can possibly find a fun project to work on as well!
I found this open source project by networking through my classes Slack to look for a partner. I ended up finding @drew5494 who was also writing a static site generator in C++. If you are looking for a project to work on, you should try finding one on GitHub Trending or you can try commenting your favourite open source project for others to find! I was a little nervous to test and review a project in a language that I don't program in very often but, nothing wrong with broadening your horizon! Open source should be filled with learning and fun so don’t be afraid to try new things.
To start, I had to do a little review of C++ so I could get a stronger understanding of the code. Once I had a grasp of the code I conducted some tests to see if the features would work or break under certain situations. I noticed that I found bugs/problems a lot faster than I usually would in my own code. This experience really showed me that not only is it important to have your code reviewed but, having a fresh brain while reviewing projects makes debugging and testing one million times easier! Best advice I have read within the tech community was “If you are stuck, go for a walk and try again” it will save you the ten hours of staring at a screen because of a typo.
Some problems I found while reviewing were:
*README didn’t contain tool features or examples
*The input flag did not work with directories
*The input flag work with text files only in the same directory of the executable
Getting my code reviewed was very scary at first. Putting your code out in the open can be daunting but, will help you improve your skills as a developer. The one issue that surprised me the most was the version flag not working. It surprised me not because of why it did not work but, why did it work on my machine? The problem was I had a string in my version variable in my package.json. I was able to fix it by just removing the string and creating a custom yargs statement. The only other issue reported on my project was adding liquid tag support to the tool. That feature was recommended on my previous blog post by @pandademic . Thanks a lot for the recommendation!
In the end, I have learned that testing and reviewing is imperative for the growth of a developer. Testing and reviewing helps developers learn new things, understand how to work with other developers and allows developers to try new things! What are some of your first issues you worked on in an open source project?