I can't put a space there?

08 Feb 2024

Introduction

In the realm of software engineering if you even mention “coding standards” you will almost get one of two answers. Those being that it’s pointless because as long as it runs and has comments you’ll be fine, to the diehard fans that truly support the idea of a universal coding format. I feel like I fall somewhere in the middle, but slightly leaning to the side of coding standards because of the obvious reasons, that being more seamless teamwork and a set format that everyone can conform to, but I also understand why people might not agree with that.

The Power of Correction

As someone still learning the complexities of coding, the feedback from ESLint serves as a constant guide who points out inefficiencies, potential errors, and stylistic deviations from established best practices. This immediate automated feedback loop to me is invaluable. It not only ensures code quality but also acts as my very own personalized coding tutor, highlighting areas for improvement and reinforcing good coding habits. The satisfaction I have gotten from resolving errors and seeing the list of issues dwindle to zero that all culminate in the coveted green checkmark, transforms debugging from a dreadful task, to a fun video game, or so I try to tell myself.

The Utopia of Coding Standards

To argue for the other side of “coding standards” some could say that the quest for a universal coding standard in software development is like the pursuit of a linguistic utopia, where every word, sentence, and grammatical rule is agreed upon by all. However, just like prescriptive grammar battles with descriptive grammar in the field of linguistics, coding standards face a similar dichotomy. Prescriptive grammar dictates how language “should” be used, while descriptive grammar observes and records how it is actually used. This parallel extends into the realm of coding, where standards attempt to prescribe how code “should” be written, yet the diversity of coding practices reflects the descriptive, evolving nature of programming languages. I think a valid analogy would be when separated groups of organisms evolve differently over time. This provides a simple metaphor of the evolution of coding standards within isolated teams or communities. Just as isolated populations develop unique characteristics through evolution, so too do developers and teams cultivate their coding practices, shaped by their specific challenges, preferences, and experiences.

Conclusion

My journey with ESLint and coding standards has been both challenging and rewarding. The initial difficulties very deeply ingrained the importance of attention to detail and the complexities of software development tools (I guess I needed another reminder). However, the ongoing interaction with ESLint has definitely made up for its painful installation with it being an invaluable learning experience. In embracing these standards, I hope to better understand my code in a more clear, concise way!