For the lab 1, I had to partner with other student and review each other's code to find areas of improvements.
I posted a thread in slack, and was able to connect with Tracy. She also used Java for her implementation of ssg application.
First impression of her work was amazing. Her project is very well-organized. She used springboot and maven for the project, she used Utility classes to divide works. And she also used picocli, which she also suggested to me for future updates, which is a command line integration tool for java.
First I had some issue with running the project. Readme was unclear about the jssg configuration, and reported this issue to Tracy. Tracy updated readme with the detailed instruction, and I was able to run the code. (https://github.com/trangntt-016/static-site-generator/issues/1)
Another area to improve is text processing. She uses StringBuilder to add all of the lines in paragraph and then transform it into html paragraph. I suggested this could be simplified in the future.(https://github.com/trangntt-016/static-site-generator/issues/3)
Last issue I create applies to me as well. When passing the folder instead of a single txt file as an input, index.html that contains the link to generated html files is not implemented. (https://github.com/trangntt-016/static-site-generator/issues/1). This is a suggestion for the future updates as well.
Tracy also reviewed my code. It was nervous to have someone review my code for me, she was able to find issues that I never realized before.
And here are some issues Tracy reported to me.
She was not able to pass argument options because it was very unclear in the readme. I updated readme with the list of argument and some examples. https://github.com/irenejoeunpark/ssgApplication/issues/3
She found that I wrote my whole code in just one block, which was the main method. It was hard to read and find bug if it had issues. I cleaned up using two helper functions and it is much more cleaner.
She suggested to put comments in the code so that lines are more understandable by whoever reads it. I added more comments as she advised.
I learned the importance of the peer review, and testing by different developer, with a different perspective. After Tracy's review and testing, I was able to improve my ssg application, and it is also a great asset for future programming as well.
My GitHub Repo: https://github.com/irenejoeunpark/ssgApplication
Tracy's GitHub Repo:https://github.com/trangntt-016/static-site-generator