On Perfect Code
Many developers think that the code they are writing is perfect or close to it. It follows architectural best practices, properly structured and commented, and serves its purpose. All these things may be accurate; however, it is not enough to call this code perfect. Where is the catch?
There Is No Perfect Code
The main reason why the code can not be ever called perfect is that there is no definition of the perfect code, and every developer may have his own opinion on how the ideal code should look like.
Another reason why code can not be considered a perfect thing is changing environment. Even if the code is considered ideal when written, there are very high chances that it will not match future architectural best practices, development standards, or even the necessary code style checks. In most cases, it happens during the following month.
Finally, every developer should remember that code is not the goal — it is a just tool. The tool's primary purpose is to do the job properly but not be perfect in any possible way. However, it does not mean that the developer has to use flawed or broken tools — they still have to be functional and have good quality.
Quality And Functionality
When a code has good quality, it matches all best practices, uses software design patterns if needed, easy to support, easy to test, passes code standard and code quality checks, appropriately documented, etc. However, it does not make it a perfect code.
When a code is functional, it does its jobs properly — i.e., accepts required data, produces the expected result, correctly processes invalid data, triggers exceptions if needed, logs all the errors, etc. However, it is not enough to make this code perfect too.
A good code is a code that has a reasonable level of quality and passes all functional checks. It usually means that this code matches both sets of criteria without trying to do anything else. It is up to the developer to define the requirements and write a good code that satisfies them.
Should I Stop Writing A Good Code?
Obviously, no! The better the code, the easier it is to maintain, test, and support. Every developer should do his best to write the best code possible that suits the situation and requirements.
There are tons of best practices for writing good code. These are quality and functional requirements, readability, maintainability, extendability, and lots of other criteria. Usually, it does not make sense to maintain all of them. However, every time a developer starts writing a code, he has to understand which of these criteria and best practices are essential in this specific situation and then follow them.
There is one more useful piece of advice for every developer. Please don't forget that the primary purpose of code is solving the problem, not to be a museum exhibit. Code is just a tool, and every specialist should know how to use his tools properly and maintain them. So, the developer that tries to write a perfect code should change his mind and point of view to start writing and using the code correctly.