Coding Standards: Pleasure or Pain

19 Sep 2023

An Introduction on Coding Standards

Throughout many different languages, I have come across many different rules and regulations on which to apply code. Whether the indentation be one tab or two, exactly 5 spaces, or curly brace placement (if any at all), I have seen many in relation to this. Using ESLint for the first time with IntelliJ gave me a realization though that some coding practices can deviate from the norm. It was unusual at first how I experienced ESLint and its correctness in adherence to coding standards (such as having a newline at the end of the code, or instead of double quotes, use single quotes), I believe that even through all this these play a vital role in the world of software engineering as they encompass a set of guidelines and conventions that have a profound impact on the quality, readability, maintainability, and even the learning curve of a programming language.

The Importance of Coding Standards in the Software Engineering World

Coding standards can be seen as the backbone of software development quality, providing a common language and structure for developers to follow making it easier to understand. When everyone on the development team follows the same standards, it becomes easier to collaborate, review and maintain. Even when someone as new as I am learning IntelliJ with Javascript, it gives me a valuable guardrail having these sets of standards. Some of the useful aspects that can be pointed out are clarity and readability, being that these enforce rules for clear and consistent naming conventions, indentation and formatting. With these standards, they help newcomers understand code more easily. Another implementation is that coding standards often include best practices for whichever language you are trying to learn. By adherence and collection by the wisdom of experienced developers, newcomers can not only write clearer code, but also learn idiomatic and efficient ways of using the language.

Some other important points to mention are that implementation of coding standards provide a safety net for newcomers. They include rules to prevent mistakes and pitfalls in a language, and could serve as educational tools by guiding developers away from errors and teaching them about language specific quirks. Lastly, consistency between projects is a huge importance in the software development community. Through consistent application of coding standards, developers can apply their knowledge more easily from one project to the next, accelerating skill development.

My Takes on ESLint

In relation to ESLint, it is a widely used static code analysis tool and is very useful to any developer, providing coding standards and identifies potential issues in the codebase. My first impressions of ESLint with IntelliJ would be described as painful, but necessary. I wasn’t really fond of the coding conventions that ESLint had offered at first, considering I had been doing it one way for a long period of time, and the beginning experiences following using ESLint can be perceived as painful by some people. But after getting used to the convention style that is used with ESLint, I believe that the pain is akin to the discomfort of cleaning a cluttered room. Once you’ve tidied up, the room (or codebase) becomes more pleasant to work in.

ESLint, as I have seen, has a lot of beneficial qualities once you get to know it, some of which include collaboration consistency, as enforcing these coding standards ensures all team members that work on the project are on the same page. This consistency simplifies code reviews and reduces misunderstandings amongst team members. Another would be the gradual improvance of code quality. Over time, ESLint can significantly improve code quality, and by identifying and addressing issues early, it helps prevent bugs and makes codebases more maintainable. Lastly, as a learning tool, ESLint not only identifies problems, but provides explanations and links to relevant documentation. This can be invaluable for developers, particularly those that are new to a language.

Coding Standards are the Future of the Knowledge of our Software Engineers

Coding standards in this sense are not trivial, they are important to the world of software engineering. They improve code quality, facilitate learning, and foster collaboration. Tools like ESLint, while initially challenging, contribute to better code and can accelerate the growth of developers, making them an essential component of modern software development. Along with ESLint, one should learn many different coding standards, and have a general idea of how each of them work and how to apply each one. As the importance of learning multiple languages is to the world of software engineering, having this tool set of coding standards can help simplify your code along with the comprehension of your team members as they assess your code or vice versa.