Solutions: Systems of Systems

Here are the solutions to the exercises in Chapter 9, Systems of Systems: Analyzing Multiple Repositories and Microservices.

Support Code Reading and Change Planning

The file gceBakeStage.js in the front end has a change coupling to the automated test BakeHandlerSpec.groovy in another repository (rosco). Use such change coupling information to explore the related module from the perspective of the planned changes.

Combine Technical and Social Views to Identify Communities

The code in gceBakeStage.js is mainly developed by the author chrisb while the change-coupled file BakeHandlerSpec.groovy is developed by duftler. This kind of information serves as a communication aid for developers in different parts of the organization.

Analyze Your Infrastructure

The top hotspot in Git is the Makefile, which consists of 2,500 lines of code. If you look at its complexity trend, you see that there was a reduction in size back in 2013. However, the recent trend shows that the Makefile keeps accumulating responsibilities. In part that’s because the file isn’t limited to build dependencies, but rather contains several parts of the process too. As an example, have a look at the lines of code linked in the footnote on this page; they specify rules that apply only in a specific context.[153]

A Makefile could be the target of splinter refactoring too, which would help us clarify roles and responsibilities in the same way as what the Git architecture does for the application code.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.147.83.8