Any beginner programmer has heard something along the lines of “I can’t read this” as feedback from a seasoned programmer, professor, or even an IDE displaying the terrifying red squiggles that no one likes to see in their program. My initial thoughts on coding standards were “Why are we learning to do this if I could simply tidy up my program with a click of a button?”. I’ve always thought that my code was always nice and tidy until I took my first upper division computer science course in college. No matter how well written my code and algorithms were, I would consistently get marked off for “Not meeting the Coding Standard” despite getting multiple warnings and comments on the unreadability of my programs. So needless to say, clean code was something that was the least of my worries because in my mind as long as it worked then I did the job.
Along with the consistent point deduction there was a specific point that my professor said that made the class realize the importance of coding standards. Something along the lines of being able to maximize productivity and communicate your thoughts, ideas, and intentions so that other programmers may easily pick it up. He provided the visual of having a messy desk and related it to having scattered thoughts and the unorganized environment isn’t optimal for productivity. This is something that has stuck by me whenever I am writing a program, and form a mental checklist to ensure that the readability of my code is crystal clear.
Learning different computer languages is no different from learning different languages spoken all around the world. From Spanish to French to Korean, each new language brings a new perspective and ability to connect to those who speak that particular dialect. Which is why those who are bilingual, trilingual, etc. have an advantage over those who are only monolingual. Just like these languages, programmers are able to communicate their thoughts, ideas, and more through their code with other programmers alike.
Now the question is, “What if you don’t know that language?”.
Well, there are certain things that make learning a new language a lot easier than it seems. Something that all languages have in common is sentence structure, for real languages and computer languages having a form of structure is the basic foundation of any and all languages. The “language structure” for programming languages is the coding standard, because this foundational skill is the X-Factor of learning a new language. The easier it is to read, the easier it is to understand, the faster you are able to learn and absorb the concepts of the language. In reference to the messy desk, if you are looking for something on the desk and it’s cluttered with papers, pens, and folders all scattered, then it would take twice as long if the desk were nice and organized.
Learning how to operate different IDE’s works in parallel with learning different computer programming languages. Since working with the IntelliJ and ESLint, I’ve had to adjust from previous coding standards that I’ve been taught. The IDE itself is definitely growing on me as I become more accustomed to navigating through it. In terms of ESLint’s standards, I find it useful since it is conditioning me into using the nicer coding style and also suggests methods that are more concise which I believe will make me do these subconsciously and overall a better programmer. And despite the pain of doing minor changes that ESLint forces me to do, the satisfaction of receiving a green checkmark is very rewarding.