Introduction

This team will guide you through doing a code metric analysis on your term project.

You will not have enough time to complete this activity during the class. You should be able to get started on it and then continue as a team activity afterwards. Your analysis of the code metrics and recommendations for future changes based on that analysis will be part of your documentation submitted for Sprint 4.

Step 1: Install the IntelliJ MetricsReloaded plugin

Install the MetricsReloaded plugin in IntelliJ.

Step 2: Run an analysis on your term project codebase

You get to the code analysis tool by selecting Analyze -> Calculate Metrics... from the IntelliJ menu. For a first analysis, in the Metics profile dropdown menu, select the Complexity metrics profile. Run the analysis on the whole project. In the display window that appears, look at the data that is returned. Select the Class metrics tab, expand the window to show all of your project's classes.

Step 3: Deposit the initial Complexity analysis in the dropbox

Take a screen shot of the initial complexity metric analysis and deposit it in the Code Metrics myCourses dropbox in the Exercises area by the date shown on your section's schedule.

Step 4: Identify areas for analysis (Start now, in-depth results due by Sprint 4)

Analyze the code metric measurements for the following categories of metrics:

The default MetricsReloaded plugin assigns target values to some of the metrics, such as, cyclomatic complexity. Measurements that did not meet the target are shown in red. Identify all of the units at each level (package, class, method) that did not meet a predefined target. Metrics without target ranges will appear in black. Review all of the measurements at each level and identify outliers that are notably different than the average or measurements for other units.

Step 5: Decide on redesign and reimplementation recommendations (Start now, in-depth results due by Sprint 4)

Each of the measurements that did not fall within a predefined target range, or that are notably different than the average or measurements for the other units is a potential problem area that would benefit from a redesign or reimplementation. You can find information about the metrics in the reading assignment for the Code Metrics lesson or by looking at the information for each metric in IntelliJ (Analyze -> Calculate metrics -> ... to browse the metric profiles). Analyze these areas and decide on recommendations for what to do. In some cases, your recommendation may be to not make any changes. Describe the justification for recommending to make no changes. Your code metric analysis and recommendations will be part of your final design documentation in your Sprint 4 submission.