Today marks the end to my first module in the Flatiron School curriculum. This point is marked with the completion of my first portfolio project, a CLI gem written with Ruby, and the experience was nothing short of a thrilling rollercoaster. The journey was littered with ups and downs but thankfully mostly ups to my amazement. I was fortunate enough to get a good head start on starting the project which I am so incredibly thankful for and used it to really try to take my time to plan it out and code.
My approach to the project build out was to try to cover at least one use of each of the skills we have learned up to this point. I think I delivered relatively well on this goal, perhaps not hitting everything but I did my best to cover as much as possible. One of the main focus points for me was just trying to make sure that I was creating and using objects with the data that was gathered from scraping and not just showing the scraped and parsed data to the user. It’s all to easy to want to display the data as is once you actually get the desired results from a scrape, but be cautious here. The goal of learning about object oriented programming is to do just that, program with objects.
The next area that I started out feeling strong on but had some difficulties with at the end was remembering what I was writing methods for. A whole class? An instance of the class? Self? Should self be used ? And if self, then what is self at that moment? This can get out of hand quickly and the ending result is a lot of class methods that are acting on the whole class. If I could offer any advice it would be to always ask yourself, “What am I writing this method to be called on?”. Asking this first and really taking the time to answer this question will save a great amount of time and frustration later on. Having to go back and re-write the code to be used as an instance method instead of a class method and then testing it only to find out that while the new instance method may be correct it has now broken other parts of the program that was using that method in its previous form. With the end of the beginning now upon me I have to say that I am so thankful for this project and am even more excited for the rest of the curriculum to gift its knowledge to me and let it change me for the better.