This week I worked with Joshua Li on each other's SSGs. We both wanted to work in C++ so that narrowed down the options quite a bit, I was surprised at how few people wanted to try in C++.
The hardest part of testing/reviewing Joshua's code was finding anything to critique, it was that good. Like when a prof gives you code to work on, logically organized, concise and without mistakes. His code wouldn't compile using g++ originally, but after ignoring the warnings that came up it compiled fine. I think it was just a case of the compiler being finicky, it wasn't liking the multiple declarations of having prototypes earlier in the file but it ran fine after I ignored those. He also included an executable so it wouldn't have made much of a difference regardless.
The other issues I logged were more just nitpicks to get to the minimum allowed issue number, I think you'd agree if you took a look at his repo.
My code had a lot of issues when he looked at it yesterday, for example not creating a
./dist/ folder for output. I've never used _mkdir before so that was something I hadn't yet implemented.
Another issue was not iterating through a whole folder. I think this one was actually due to an issue naming the output so the files were getting overwritten to a single
I don't think I learned much from the testing and reviewing. Maybe I passed it off too soon but I was pretty aware of the work that had to be done, I just hadn't had time to get it all worked out yet. It was cool having someone to talk to and bounce ideas off of though. I got stuck at one point because my visual studio solution was using the wrong C++ standard, and I quickly got advice from Joshua on how to fix it without having to spend the time troubleshooting and googling fixes. I don't think that's far off from my usual school experience, but maybe that's why an academic environment lends itself so well to open source development. Being in a setting with peers working on the same projects naturally means you're inclined to help each other break through those roadblocks and learn better for it.