Open Source Lab 1
Published: 2022-09-16 00:03:19

Our first assignment release 0.1 is due at the end of this week the goal of that assignment is to make an SSG or a Static Site Generator. What it does is it takes a text file or a folder and takes reads the text files and makes them HTML documents so they can be viewed in a browser. Our first lab takes what we have done for this assignment and makes us work with someone else to view the issues in their code while someone checks ours. The idea is that we learn how to review others' code and at the same time look at issues that people have with our code objectively and fix them.

# How it went

I reviewed Tong Liu and he reviewed mine. I know him personally and have worked with him on multiple projects including my capstone last year. Getting someone to look at your code even if he's my friend still made me nervous as if any mistake I had made automatically made my project a failure. After seeing the issues that were posted though I was able to see problems that I glanced over in my code or minor issues that after fixing made me feel better about my overall project. I think I would be willing to have a stranger look at my code because I understand that having a new perspective allows me to look at issues that I might have missed.

However, I experienced looking for issues in another person's code and writing issues for it. This was also interesting as he was working in C++ while I was working in python. I got to see an entirely new implementation of the same problem which allowed me to navigate through the code a bit easier as I understood the basic functionalities that each code would have. 

# Issues on Tong's Repo

* The first issue I found was `Title Formating`
https://github.com/liutng/SSGifier/issues/1
This issue was about how his HTML documents were formatted I could see that he started his Optional requirement 1 with the title parsing but he didn't finish putting the title in h1 tags which is a simple fix 

* The second issue I found was `Output directory confusion`
https://github.com/liutng/SSGifier/issues/2
This issue was about using Tong's output command which chose the output directory I was confused about how to use it and the documentation didn't show any examples of how to use it

* The third issue I found was `File extensions other than txt work`
https://github.com/liutng/SSGifier/issues/3
This issue was about how using other file extensions didn't cause issues but would create empty HTML documents inside the output directory

* The fourth issue I found was `The folder doesn't get removed when running for a second time`
https://github.com/liutng/SSGifier/issues/4
This issue was that the folder wasn't being removed each time the program was being run only the individual files would be replaced with new ones. I kept adding new files to the folder with new file extensions to test

* The fifth issue I found was `I don't know what optional requirements are completed or not`
https://github.com/liutng/SSGifier/issues/5
The README document was missing information to be fair this could have been because he was still working on that part however it is still important for it to be completed 

# Issues on Mine

* The first issue on mine was `Program does not accept nor ignore non .txt file in the input folder.`
https://github.com/P-DR0ZD/pdrozd-ssg/issues/1
Similar to Tong's third issue I needed to fix this issue, especially because when used on mine would end the program early with an error that didn't tell you what the actual issue was 

* The second issue on mine was `-h --help should have the highest execution priority`
https://github.com/P-DR0ZD/pdrozd-ssg/issues/2
This issue was about how using the help command should be prioritized first when running the program which I didn't do so I checked the arguments first then and if help wasn't there would then continue the program

* The third issue on mine was `Does not support fully qualified path.`
https://github.com/P-DR0ZD/pdrozd-ssg/issues/3
This issue was when I was running the program with the absolute path it would give me an error message that didn't explain what the problem was. Fixing this error allows me to use folders and files from other directories

* The fourth issue on mine was `Display of optional functionalities. `
https://github.com/P-DR0ZD/pdrozd-ssg/issues/4
My README document needed more information on things like the optional functionalities I had completed so I went back and added more to my README

* The fifth issue on mine was `Strings in the code should be indented to keep align with its preceding code.`
https://github.com/P-DR0ZD/pdrozd-ssg/issues/5
Finally, my HTML files were inconsistent with my indentations I didn't realize this but because I was using the multi-line strings in python I needed to check indentations

# What I Learned

Overall I had a good experience in this lab as I got to use GitHub issues for the first time and got to experience trying to intentionally break someone's code and look for bugs in other people's code. None of the issues on my code was anything major and I was able to understand once I read the issue however because I can easily communicate with Tong I was able to ask him personally if I didn't understand his wording or how he got his error messages.