Upon completing Lab 1, which involved sharing my code with partners and receiving feedback, I have several key takeaways:
1. The Review Process
I found the review process particularly engaging. By forking a partner’s repository to my local machine, I had the flexibility to explore their code at my own pace. This included tasks like identifying bugs, improving the source code, and following their README to set up and run the application for testing.
One of the benefits of this process is the ability to work asynchronously. I didn’t need to coordinate real-time collaboration, allowing me to review their code whenever it was convenient for me.
2. Importance of the README
The first thing I examine when reviewing someone’s project is the README.md file. Since I’m not familiar with their application, the README provides essential context and helps me understand the app’s purpose. Once I understand the goal, I look for setup instructions to get the application running on my local environment.
During this lab, I encountered an issue when trying to install the package manager. My partner uses Python, but I don’t, so I wasn’t aware that I needed to install pipx after installing Python in order to run certain commands. While this took a few minutes of research, it ended up being a learning experience. After running and testing the code, I identified areas for improvement, and my partner was appreciative of the feedback I provided through GitHub issues.
3. Receiving Feedback
No code is perfect, including mine. After my partner reviewed my code, they provided valuable feedback, particularly around the setup of my application. While I was coding, I was primarily focused on finding solutions and didn’t pay as much attention to documenting the setup process. This oversight made it difficult for my partner to run my program, leading to more time spent troubleshooting.
In the future, I plan to address these setup issues to avoid causing unnecessary delays for others testing my code. Below are some of the issues my partner raised, along with the feedback I provided for their code:
Issues in my repo:
Recommendation to improve README file
Add link to Groq’s website
I forgot to include instructions for setting up the app to run by name instead of using node
Issues in my partner’s repo:
Set up python and its package manager
Keep the translated source code separate with the original one
Cannot input multiple files as arguements
Add Examples in README.md
Add logging message and errors to the stderr
4. Broader Learning Takeaways
Through this process of testing and reviewing code, I’ve learned lessons that go beyond just coding. One key takeaway is the importance of a well-documented README. Clear instructions and setup details are critical to ensuring others can use my application effectively.