Categories
Uncategorized

Our Alpha Build for my Senior Project

Currently for my Senior Project, we are creating a Emulator for NES, a video game console manufactured and made by Nintendo. Overall the project has been a learning experience at the very least, with definitely stress and satisfaction being given from it as well. I think the most difficult part of the project was definitely getting the ball rolling and figuring out what to do to start. Although there are plenty of references for what we are doing, this was a big step up from past website projects I made, and we ended up using github to share our code and ran it through required test cases which was not something I ever did until this project. It was very helpful after figuring out the process on how to pass the request I was making, but it was made to fix linting errors which does make our code look like an actual group project and not 4 people with different workstyles trying to make an emulator work.

Initially, I had a lot of doubts on my ability to help be involved in a huge task like this. Mostly because I had to learn and understand how the NES works, what makes emulators actually work and what knowledge will help with the specific steps of the process I was in. I knew learning it all in a short time frame would not be the move, but instead work on the foundation of the Emulator such as the screen being presentable and test cases being usable to set us up for future success with the project.

Overall, I definitely have my moments I was glad I made the move as well as regrets of what I could have done better for my group mates. But overall this has definitely helped me work better in an actual team environment where my efforts are known and acknowledged, and its up to me and only me to complete the project or else my group would have even more on their plate to deal with which has already been quite a bit in my opinion.

Regardless, I hope to write a post about its completion alongside the link to the, somewhat, finished product! Have a good one.

-Aizen

Categories
Uncategorized

Linting Logistics

During my Senior Project where we are working on an NES emulator, a couple of our group members decided on running a lint check before any pull requests went through and this was the first time I used a software like this that autonomize the linting process. Initally, I really did not like linting because it always felt as if the contents of the work could be correct, but all that was being changed was the spacing and making sure that it matched whatever the software liked, so having it not pass my pull request to be approved irritated me because I felt it was pointless. Although I still agree that it shouldn’t be an end all be all for coding format, I do realize that is not the point of linting. The point in linting in my opinion is to keep a general coding format for people like me that are working on a big project as a team. Without it, we would have many instances where code looked like it was processed by different minds and that can be seened very easily through the formatting of code. However, if we all were to change our formatting to be the same, which the linting software does automatically, it leads to the codebase looking a lot more neat and consistent compared to all of us using whatever formatting was comfortable for us.

Linting used to not be my favorite technology, but I will say after using it and letting it be the main way we have our code passed into the pull requests, I really believe it is our best software in keeping us similarly formatted due to the effortless strain it has on any people working on the project as having a linter simply makes the errors it believes you had and fixes it without changing the fundamentals your code runs on.

Categories
Uncategorized

What is “Clean Code”?

When learning more about coding going into High School, I treated coding as a tool that can be used to complete tasks autonomously as well as make other tasks easier for the user. Making this code however, I learned is very hard and comes with its own errors and I only learned about having Clean Code until after I had a very basic understanding of how to code in C++. I ended up having some sort of assignment a coupler years ago that lead me to look up documents and I found the document I originally used as a reference for my Clean Code and it came from Robert C Martin, who wrote a LOT about Clean Code and ways of achieving it. In this article labeled “Clean Code: The Good, The Bad, The Ugly” by Daniel Gerlach that talked about good and bad qualities regarding the topics of Clean Code, and it did make me realize to think about my own opinion regarding Clean Code.

To start, I do believe that keeping it simple stupid is a great tip that I do try and work on throughout my code. Having the ability to not only make your code simple to understand, but also the code’s effectiveness is also good while being simple is a great quality to have. However, the negative of the book that was explained in the article is their examples of Clean code, a function named was defined as

  • smallestOddNthMultipleNotLessThanCandidate()

which although explains the use case, is incredibly long and hard to read in the code form. So although this book does have a lot of Clean Code tips and ideas that I consistently reference for my own coding, that also accounts for the bad things the book does show off in itself as well but still has given me the same impact that it once has even if all the information was not completely all correct and positive.