When we talk about software development, we instantly think of “programming” which is the process in which instructions are encoded to obtain a specific behavior on a computer. As software developers, we often face challenges that require us to bring up our technical and analysis capabilities to develop a new algorithm that solves a problem, but in most of the time we neglect an important aspect, programming to our internal standards.

In the software development industry, many companies and developers focus on solving the problem and because of the immediacy or immediacy of the matter, they carry out an extensive, messy and illegible but functional code, although almost everyone knows that even a bad code can work. Based on this reality we can deduce that: “The fact that a software works well does not necessarily mean that it is well programmed”. Clean code, is synonymous with developing a good code. But how do I know it’s a good code? A good code is when it does a single thing and does it well, is simple, direct and readable without the need for comments, must present a simple logic with minimal dependencies, clearly express the intention of the developer and have unit tests.

To develop a clean code we need to acquire and learn good development practices that allow us to translate into our code each of the characteristics that describe Clean Code. Programming well involves time and effort, especially if we have been used to programming without following standards. As a developer, it is not enough to show all your technical skills in the use of new technologies to determine that you have a good code and that you are a good developer, the one that is a good developer is the one that elaborates a readable and understandable code for someone who has years in programming as for someone who has weeks and basic knowledge of programming.

As a developer, it is important to acquire good programming practices because it give us the ability to design and update software correctly in our day to day. Knowing and applying the SOLID patterns to our software will allow us to update some functionality in the maintenance phase, as well as create new functionality without the need to alter old code. If we have to update a functional software component that is difficult to understand, is illegible and does not have standards, we must be able to refactor, which is the process in which the code is improved and updated without the need for his behavior is altered.

To learn good programming practices, development standards and recommendations to develop a good code we have a wide range of bibliographies to turn to, but there is a book that stands out among all these options and is the one I recommend reading. This book is called “Clean Code” and was developed by Robert C. Martin. This book summarizes the best practices of the industry as well as having a series of recommendations for you to have a good code.

It is important to emphasize that although the recommended book will give us the theoretical guidelines for a good code, we must also point out that there are tools that allow us to fulfill this objective and that are very useful when developing software. The first is EditorConfig, is an open source project that through a plugin compatible with most editors and current IDEs, helps developers to define and maintain rules of syntax and encoding in software projects. The second is Code Analysis, a tool incorporated in Visual Studio IDE that allows us to analyze all our code to determine if we use correct data types, identify methods that are not invoked, identify commented code, among others. All this analysis is based on configurable rules that allow the developer to activate or deactivate them to his need, even to customize the type of output when breaking the rule (Error, warning, suggestions). And the third is SonarLint Analyzer, which works similar to Code Analysis but also gives us the ability to analyze the logic that the programmer is writing giving instant feedback of what is being done wrong and a recommendation on how you can improve that code .

Finally, it must be clear that making a clean and good code will help make it easier to maintain and evolve in the future. Programmers are responsible for developing a clean code and refactoring the code that it identifies does not comply with the Clean Code features. And a clean code is the best image of your work as a developer.