ESLint, the MLA for programmers

24 Sep 2020

Another Boring Backstory Prologue

Throughout my freshman year of college, I had to take some academic writing courses to fulfill my general education requirements. Having just graduated from highschool at the time, I initially thought that diving straight into writing college essays in my first college semester would be relatively easy. “The experience I’ve gained from writing countless essays in highschool should make this a piece of cake.” I convinced myself. However, I would later learn that it wasn’t a piece of cake. Rather, there was no cake. The cake is a lie.

After undergoing orientation, my English professor assigned the class to write their first essay around current events of interest that have happened in America. Each of us was expected to do a lengthy amount of research on the topic before we were able to write anything. Then with the research articles we have collected, we had to write a draft and complete it within a week. Our draft had to be 8 pages long, completely filled with our observations and arguments regarding why we agree or disagree with our topic. Most importantly, this had to be all written in MLA style.

MLA is a standard format that essentially specifies how someone should write academic essays and research papers. Some of the specifications for MLA style include: setting the margins of your paper one inch on all sides, creating a header in the upper right hand corner of each page with your last name, indenting every new paragraph, etc. My English professor especially cautioned that if I made some minor mistakes in my essay that didn’t adhere to the MLA style, I would be marked down for it. I recall when the time came to turn in my first draft, I had so many MLA style errors within the first page of my essay alone, that I ended up having to rewrite that whole page!

Getting to the Point

When I first started off programming in ICS 111, I have done so many bad coding habits that made my code unreadable not only for others, but for myself as well. Like my initial frustrations with college essay writing, I also sometimes ended up having to rewrite a function or even a whole class because of the many syntactic and semantic errors that prevent my program from running. The common mistakes I often made varied from forgetting indentations and semicolons, to placing one too many curly braces when scoping, and arguably the most horrifying of all: using underscore convention to name variables (my professor shunned anyone who dared using underscore in our projects because camel case was clearly superior). Jokes aside, my professor reassured everyone in class that these mistakes were to be expected as we were still learning the language.

It was not until I reached ICS 211 that I actually had to become familiar with good coding practices. Around some point throughout ICS 211, my professor introduced this tool called checkstyle. Checkstyle is a code analysis tool for Java and checks if your code adheres to a specific coding standard. This means that if for example, I indented too much or I am missing a whitespace somewhere, checkstyle errors would automatically appear. However, I can easily fix these errors by highlighting over them and seeing what error message it returns. As another alternative, I could also just let checkstyle do the work for me and automatically fix the errors by pressing a certain hotkey. For the code that I have written in 211, in my experience checkstyle was automatically able to fix most checkstyle violations 9 out of 10 times. This tool was a godsend to say the least, and I loved the time that I spent using it in my projects.

Fast forward to today, I have already learned some basic Javascript concepts, and I am excited to learn more about the language and the future projects that I could create with it. Just even throughout the first few weeks of ICS 314, I had fun simply figuring out its syntax . Though admittedly throughout those first few weeks, I was also mourning over the loss of checkstyle. It just did not feel right when I wrote Javascript code and was unsure of whether or not it was neat enough to be shared. I was essentially heartbroken until I was recently introduced to ESLint. Upon hearing about ESLint and learning what it was, I was ecstatic because initial impressions tell me that it is basically checkstyle 2.0, and if my ravings about checkstyle are an indicator of anything, then I definitely think I will enjoy using ESLint for upcoming Javascript projects.

Final Words

Overall, as I wrote more academic essays within my freshman year, I did make less writing mistakes and became more adjusted to the MLA format. Writing in this format forced me to become a more organized writer and improved the presentation and readability of my writing. By the end of the semester, my English professor really appreciated how everyone in class followed the same format because each of our essays consequently became cohesive. I would argue that the importance of cohesiveness can be applied to programming with ESLint as well. In the near future where I potentially look to get a career, I personally hope to make code that looks professional and impresses employers, while at the same time being useful to the people whom I collaborate with.