Standard Seeking

17 Sep 2023

Coding Checklist

Running it Back

Starting off college as a computer science major with absolutely no background in coding, there were many technical skills to learn. Reviewing my code from ICS 111 with Dr. Moore, my coding style was very messy. I had unnecessary blank lines to separate methods and trivial lines such as loops. During that time, I truly believed that it was easier to read code if I seperated code blocks like that, but as I continued to work on my coding capabilities, I realized how wrong I was to have thought that. During ICS 111 and even 211, we have used a similar Checkstyle that would highlight malpractices in our code. In the beginning I did not think much of the Checkstyle and thought it was only for fixing incorrect code, but it was much more than that. Having the ICS Checkstyle grew onto me, slowly making me conform to decent coding standards.

Coding Forward

After a couple years of having experience with coding, I stuck to coding in a similar style that would comply with ICS Checkstyle. Not only did this make my code easier to read and understand, but it also helped in learning the structure of learning new languages. The consistency of having good coding standards allowed me to visually see the similarities and differences when learning a new language. A lot of programming languages covered in ICS were similar in style with the majority of changes in the functionality of methods and sometimes slight syntax differences. For example, coding loops in Python compared to Javascript/Java is different, but the structure of writing the code are similar.

Using ESLint with IntelliJ brought back some memories of using Checkstyle in ICS 111 roughly two years ago. Seeing yellow and red can be slightly stressful at the time of coding as we scramble for a correct approach to debugging, but I believe that the reward from utilizing ESLint is unparalleled. Having a good coding standard is not only helpful, but also aesthetic to look at! The only aspect I wish ICS 314 gave was to give us more flexibility to add in-line comments to our code. Constantly having a time constraints restricts us from adding comments while the information of what we want to code is still fresh in our minds.