CodeMR – Blog

CodeMR Blog

Software Design Quality

There are mainly three important characteristics of good software. It should be readable, extendable, and maintainable. I am sure every reader of this article would like to add another important characteristic to this list. First of all, the code that we develop is a long-lasting, “living entity”. Once it is created, it evolves over time. In every part of its life cycle, the code is read by many developers many times. Especially if you are developing open-source software or developing software in a big organisation. Therefore, it should be easily understandable by the other developers as well.

Architectural Quality Assessment

As Tom de Marco says, “you cannot control what you cannot measure”. Measurement plays a key role in quality improvement activities and metrics are the quantitative measurement of software design quality. For software quality, there are basically four internal attributes. Which are coupling, cohesion, complexity and size. Many design patterns are closely related with these attributes. There is a clear relation between software metrics and code smells. Applying Design patterns generally results in better metric values.

A Case Study on Spring Framework

The Spring Framework is a great application framework and inversion of control container for the Java platform. It is also a great example of high-quality software. Spring Framework is the foundation for all Spring projects. Collectively, the Spring Framework and the family of Spring projects is often referred to simply as "Spring." Spring provides everything required beyond the Java programming language for creating enterprise applications for a wide range of scenarios and architectures. It has been developed over 17 years. We analysed the Spring Framework with CodeMR. CodeMR is an architectural software quality and static code analysis tool.

Supported Metric List by CodeMR

Software external quality displays the visible symptoms when there are issues, but the roots are invisible internal quality attributes: program structure, complexity, coupling, testability, reusability, readability, maintainability. Coupling, Complexity, Cohesion and Size are the fundamental internal quality attributes of a software.

Architectural Quality Assessment with CodeMR

As Tom de Marco says, “you cannot control what you cannot measure”. Measurement plays a key role in quality improvement activities and metrics are the quantitative measurement of software design quality. For software quality, there are basically four internal attributes. Which are coupling, cohesion, complexity and size. Many design patterns are closely related with these attributes. There is a clear relation between software metrics and code smells. Applying Design patterns generally results in better metric values.