28.15. MemberCodeChurn

28.15.1. Description

MemberCodeChurn reduction function computes telemetry stream(s) representing project member's churn. It can be lines added or lines deleted.

28.15.2. Parameter

Table 28.14. 

ParameterDescriptionDefault
modeOne of 'LinesAdded' or 'LinesDeleted'LinesAdded
filePatternAnt-like file pattern specifying the files to be included in computation.**
isCumulativeIf true, an cumulative version of telemetry stream is returned.false
memberEmailIf '*' is supplied, then a collection of telemetry streams is return, with one telemetry stream for each member in the project. If a member email is supplied, then only one telemetry stream is returned representing this member's active time in the project. *

28.15.3. Example 1

Example 28.21. Net Code Churn for One Single Member

streams MemberNetCodeChurnStream(filePattern, memberEmail) = {
   "Added minus Deleted",
   MemberCodeChurn("LinesAdded", filePattern, "false", memberEmail) -
   MemberCodeChurn("LinesDeleted", filePattern, "false", memberEmail)
};

y-axis yAxis(label) = {label};

chart MemberNetCodeChurnChart(filePattern, memberEmail) = {
  "Lines Added minus Lines Deleted", 
  (MemberNetCodeChurnStream(filePattern, memberEmail), yAxis("Lines Added - Lines Deleted"))
};

draw MemberNetCodeChurnChart("**/*.java", "undisclosed@hawaii.edu");

This chart shows net code churn for one of the project members. Net code churn is defined as lines added minus lines deleted. Note the parameter value passed to the 'memberEmail' parameter.

28.15.4. Example 2

Example 28.22. Net Code Churn for each Member of the Project

streams MemberNetCodeChurnStream(filePattern, memberEmail) = {
   "Added minus Deleted",
   MemberCodeChurn("LinesAdded", filePattern, "false", memberEmail) -
   MemberCodeChurn("LinesDeleted", filePattern, "false", memberEmail)
};

y-axis yAxis(label) = {label};

chart MemberNetCodeChurnChart(filePattern, memberEmail) = {
  "Lines Added minus Lines Deleted", 
  (MemberNetCodeChurnStream(filePattern, memberEmail), yAxis("Lines Added - Lines Deleted"))
};

draw MemberNetCodeChurnChart("**/*.java", "*");

This chart shows net code churn for each member of the project. Net code churn is defined as lines added minus lines deleted. Note the parameter value passed to the 'memberEmail' parameter.