Today you listen, you read, you see many talking about this, they give you hundreds of tips, recommendations of what you should and should not do, but do you really know how to evaluate if your code is of quality or not? I am going to tell you what are the criteria that you must take into account, regardless of what language or tool you are using, since these are part of an international standard. Software, like any product, has quality attributes that can be objectively measured to determine whether it is a good product or not. There are six quality attributes:
In this post I'm going to talk to you about the first three, all so you don't get bored (Yes, I know, I'm the best) and in the next post I'll talk about the remaining three.
The first three quality attributes are related and very end-user oriented. The functionality attribute is very simple, this attribute refers to the ability of the software to do the tasks for which it was created, nothing more, nothing less, something that seems trivial, but that many times developers because they are "too creative" not We comply, maybe the user wanted a calculator that would add two numbers but we make a calculator that obtains the square root, divides, makes derivatives but does not add or does not do it well, believe me, the user first needs you to do what he wanted you do, the rest is addition. That can generate value if you first comply with the fundamentals.
Reliability is the ability of the software to maintain its operation under normal conditions, that is, that the software works continuously and controls common errors, such as validating that only numerical data types are entered when you try to do a sum in the calculator or avoid doing divisions by zero, or at least show an error message when something unexpected happens, the important thing is that the user understands that something happened and has the possibility to continue using the software if possible or notify the error, write it in a log file and make a secure close
Finally, usability is the ability of the software to make the user invest the least possible effort in its use, for example, that the user does not require many clicks to be able to navigate to an application option, that the application is intuitive and easy to understand the purpose of a functionality. This may seem a bit subjective to you, but there are certain rules that give you guidelines to comply with this, but the most important thing is to do tests with your users, to be able to receive feedback from them, because each group has its peculiarities and culture has an important influence
As you can see, validating the quality of your software is not something from the other world, it is something that you can measure and evaluate and taking it into account will have a positive impact on the end user, which you can make very happy and you can even make your user enjoy product.
You can read the second part here