If we take a look on the history of our PHP based softwares, we will probably find a lot of problematic codes. Why? Because, normally, we just care if the thing is working, right? But stop and think: is work enough?
Everyone had (or will have) a problem with a team mate’s code, that works, but is messy and full of things that we look and say “why he did that?”, or it can be worst “what? Is this really working? That’s impossible!”. The result is a software without quality and full of bugs, and after every release another bugs appears. That makes everybody goes crazy and stressed!
Taking the control!
Even though quality is relative, the software structural quality is clearly defined and there are some things that we must achieve to assure it like:
- Reliability: measures the level of risk and the probability of application failures, the defects injected by modifications are also considered. The main question is: is my software stable and trustable?
- Efficiency: is a measure of the performance of a software, the source code and the environment must optimized in order to keep the high execution speed and the scalability. What we must ask is: is the performance of my algorithms good enough to keep a good response time?
- Security: measures the risk of encountering critical vulnerabilities, normally caused by bad coding practices and poor architecture. The thought is: is my software protected from security breaches?
- Maintainability: it basically measures the cost of changes of a software, we should remember that software and teams will change and that changes cannot be too expensive. The main question is: is my code simple, easy to understand and to be changed?