Hi all, I am back and this week I have my experience and learnings to share on a project I worked this week. The project was to release version 0.0.1 of a Static Site Generator tool I am making for my course at Seneca College. The tool can take commandline input of text files or folders and generate html files for the same. More information about the tool and its uses can found in this post.
It was a really great experience working on this project as I got a profound understanding on commandline tools, npm and Node.js development. The process also gave me a better experience using git and GitHub. Later, I found an amazing(luckily) partner Tuan Tan who is highly skilled at backend development and to be more specific, Node.js development. We met on our class Slack channel where he posted that he is looking for a partner and then I approached him for the same. We both helped each other by reviewing and testing each others code and finding possible areas of improvement on each others project.
Well, it was very new for me to test review someone’s code as I was doing it for the first time, but I found myself comfortable and confident enough to test his work after reading this post in which he explains how to use his tool. The tool documentation being so good, it was easy for me to install, run and test in my local machine. Well, everything worked perfectly and according to the requirements, and that did not surprise me, but the surprising part was it was done so amazingly that it gave a hard time to find 3 issues in the code!
The 2 of the 3 issues I found were related to commandline options and the third one was related to version. The options part had an issue that the output on the terminal was not align which I according to me, if improvised can give a better look of using the whole tools. The second issue regarding options was that the tool was using commandline arguments as program variables instead of options. Improving this can make the work easier for the developer and can also make the work more organized. The final issue was related to the tool version. The program was not able to pick the
package.json file which gave an error when I tried seeing the version number through the commandline.
He also helped me in reviewing and testing my code. I was eager for him creating issues so that I can work on them and improve my tool. His issues did not surprise me as I was sure I might have made a few mistakes during the development.
He was able to find 3 issues in my code as well! He found issues of a typo, picking version from the file and program giving errors in special cases. I had a typing mistake in my code where I misspelled ‘successfully’ to ‘successfullly’. The issue can be found here. The second issue was versioning related as he suggested me to pick the program version from package.json which could reduce programmers work manually updating it in every file that uses it. And the last issue he found was input file/folder related in which he entered a file which did not exist. Instead of my program warning the user, it created an empty folder which was never expected. I later worked on all the 3 issues and resolved them ASAP.
I learned that everyone has different thinking style and approach to a problem. I learned how my thinking style affects the problem I am working on. I also learned from his experience on the projects testing and reviewing about Node.js development.
You may find the project and lab related these links helpful: