Open In App

Lines of Code (LOC) in Software Engineering

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

A line of code (LOC) is any line of text in a code that is not a comment or blank line, and also header lines, in any case of the number of statements or fragments of statements on the line. LOC clearly consists of all lines containing the declaration of any variable, and executable and non-executable statements. As Lines of Code (LOC) only counts the volume of code, you can only use it to compare or estimate projects that use the same language and are coded using the same coding standards. 

Features of Lines of Code (LOC):

  • Change Tracking: Variations in LOC as time passes can be tracked to analyze the growth or reduction of a codebase, providing insights into project progress.
  • Limited Representation of Complexity: Despite LOC provides a general idea of code size, it does not accurately depict code complexity. It is possible for two programs having the same LOC to be incredibly complex.
  • Ease of Computation: LOC is an easy measure to obtain because it is easy to calculate and takes little time.
  • Easy to Understand: The idea of expressing code size in terms of lines is one that stakeholders, even those who are not technically inclined, can easily understand.

Advantages of Lines of Code (LOC):

  • Effort Estimation: LOC is occasionally used to estimate development efforts and project deadlines at a high level. Although caution is necessary, project planning can begin with this.
  • Comparative Analysis: High-level productivity comparisons between several projects or development teams can be made using LOC. It might provide an approximate figure of the volume of code generated over a specific time frame.
  • Benchmarking Tool: When comparing various iterations of the same program, LOC can be used as a benchmarking tool. It may bring information on how modifications affect the codebase’s total size.

Disadvantages of Lines of Code (LOC): 

  • Challenges in Agile Work Environments: Focusing on initial LOC estimates may not adequately reflect the iterative and dynamic nature of development in agile development, as requirements may change.
  • Not Considering Into Account External Libraries: Code from other libraries or frameworks, which can greatly enhance a project’s overall usefulness, is not taken into account by LOC.
  • Challenges with Maintenance: Higher LOC codebases are larger codebases that typically demand more maintenance work.

Research has shown a rough correlation between LOC and the overall cost and length of developing a project/ product in Software Development, and between LOC and the number of defects. This means the lower your LOC measurement is, the better off you probably are in the development of your product.

Let’s take an example and check how does the Line of code work in the simple sorting program given below:

C++




void selSort(int x[], int n) {
  //Below function sorts an array in ascending order
   int i, j, min, temp;
   for (i = 0; i < n - 1; i++) {
      min = i;
      for (j = i + 1; j < n; j++)
      if (x[j] < x[min])
      min = j;
      temp = x[i];
      x[i] = x[min];
      x[min] = temp;
   }
}


So, now If LOC is simply a count of the number of lines then the above function shown contains 13 lines of code (LOC). But when comments and blank lines are ignored, the function shown above contains 12 lines of code (LOC).

Let’s take another example and check how does the Line of code work the given below:

C++




void main()
{
    int fN, sN, tN;
    cout << "Enter the 2 integers: ";
    cin >> fN >> sN;
    // sum of two numbers in stored in variable sum
    sum = fN + sN;
    // Prints sum
    cout << fN << " + " <<  sN << " = " << sum;    
    return 0;
}


Here also, If LOC is simply a count of the numbers of lines then the above function shown contains 11 lines of code (LOC). But when comments and blank lines are ignored, the function shown above contains 9 lines of code (LOC).



Last Updated : 16 Jan, 2024
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads