DEV Community

Cover image for Why apply SOLID principles make your code quality, match ISO Standard 25010
sabrinasuarezarrieta
sabrinasuarezarrieta

Posted on

Why apply SOLID principles make your code quality, match ISO Standard 25010

As per ISO 25010 (SQUARE) standards, Software quality can be defined, managed and measured in terms of following two broad categories:

  • Quality in Use: Relates to the outcome of human interaction with the software
  • Product Quality: Relates to the static & dynamic properties of the software

According to ISO 25010 (SQUARE) standards, the following are 8 different characteristics defined as part of Product Quality:

Functional Suitability
Maintainability
Usability
Performance Efficiency
Security
Reliability
Compatibility
Portability

Maintainability

This is one of the characteristics in which the developers have full control and responsibility and it's because Maintainability is related with ease with which code could be changed and maintained. In relation to maintainability, developers need to be aware of following key design/code characteristics (as per ISO 25010) and make sure that their design and code addresses them:

Modularity
Reusability/Cohesiveness
Testability
Analysability
Modifiability

And the curious thing is that modularity is the one thing that we hope to achieve applying object-oriented principles such as SOLID (primarily, Single Responsibility Principle (SRP)), implementing SOLID not only ensures modularity, also guarantees the analysability because at being modulable will be simpler to understand the functions and the reusability at creating small and with unique responsibility modules which can easily be used by various other modules.

Top comments (3)

Collapse
 
eelstork profile image
Tea

I have a LRP (limited responsibility principle) that I tend to substitute to SRP. Would be interested in sharing experiences.

Collapse
 
sabrinasuarezarrieta profile image
sabrinasuarezarrieta

Tell me more I'm not that informed about the LRP but I will love to hear your experience, but the one thing that I could say to you is that Single responsibility has given me soo much freedom to grow my code and to have excellent relationships with my coworkers because we can understand really easy eachothers work

Collapse
 
eelstork profile image
Tea

It is entirely my fault. Here is how I think about SRP/LRP:
dev.to/eelstork/solid-20-years-on-...