Why Do We Need Coding Standards?

06 Feb 2024

Establishing a baseline coding standard is not just a best practice; it’s a fundamental baseline, particularly in the context of large-scale software projects where numerous developers are collaborating. A standardized approach to coding ensures consistency, readability, and maintainability across the codebase, which are essential factors for long-term project success. By defining a set of guidelines and conventions that all contributors adhere to, teams can minimize confusion, reduce errors, and streamline the development process.

Diversity in Coding Styles

However, while a coding standard provides a framework for uniformity, it’s equally important to recognize and respect the individuality and preferences of each developer. Software development is a creative process, and programmers often have distinct styles, habits, and techniques that they prefer or find more effective. We as humans are diverse, and our coding styles reflect this diversity. Some developers may prefer ample whitespace and line breaks for readability, while others may opt for a more compact and concise approach. In the broader context of software development, these differences in coding style shouldn’t be overly emphasized or enforced. Ultimately, what matters most is the effectiveness and maintainability of the codebase, rather than adhering to a single coding standard.

Challenges with ESLint

Regarding the use of tools like ESLint, while they can be beneficial for ensuring code quality and consistency, they can also introduce friction into the development process. Constant notifications and red marks can be distracting and disrupt the flow of coding. It would be preferable if ESLint could be configured to run only upon request, rather than continuously flagging potential issues. Additionally, the automatic marking of newly created functions or variables as unused can be irksome, as some variables might be in the process of implementation or might be used later in the code.

Integrating IntelliJ with GitHub Desktop

Integrating development environments like IntelliJ with version control systems such as GitHub Desktop can also present challenges. The repetitive nature of committing and pushing changes to the main branch can become tedious over time, particularly in fast-paced development environments where we need to frequently fix things. Also finding ways to streamline this process and reduce this headache would improve my overall productivity and workflow efficiency.

Addressing Environment Discrepancies

Lastly, encountering discrepancies in behavior between different environments, such as underscore functions working in the Chrome browser but not in IntelliJ, was very irksome it made me confused and ultimately frustrated. I now know that we do not need to have underscore working in IntelliJ for the assignments but knowing that it doesnt confuses and irritates me.


Note: ChatGPT assisted in writing this essay with sentence structure and grammar.