Agile FAQs
  About   Slides   Home  

 
Managed Chaos
Naresh Jain’s Random Thoughts on Software Development and Adventure Sports
     
`
 
Discovering...
Industrial Logic

Microblog Feed
    Previous Feeds...
    Recent Thoughts

    Recent Comments
    Categories
    Archives
    February 2009
    M T W T F S S
    « Jan   Mar »
     1
    2345678
    9101112131415
    16171819202122
    232425262728  
    RSS Feed
    Add to Technorati Favorites

    Another Project Rescue Report

    Some time back, I spent 1 Week helping a project (Server written in Java) clear its Technical Debt. The code base is tiny because it leverages lot of existing server framework to do its job. This server handles extremely high volumes of data & request and is a very important part of our server infrastructure. Here are some results:

    Topic Before After
    Project Size Production Code

    • Package =1
    • Classes =4
    • Methods = 15 (average 3.75/class)
    • LOC = 172 (average 11.47/method and 43/class)
    • Average Cyclomatic Complexity/Method = 3.27

    Test Code

    • Package =0
    • Classes = 0
    • Methods = 0
    • LOC = 0
    Production Code

    • Package = 4
    • Classes =13
    • Methods = 68 (average 5.23/class)
    • LOC = 394 (average 5.79/method and 30.31/class)
    • Average Cyclomatic Complexity/Method = 1.58

    Test Code

    • Package = 6
    • Classes = 11
    • Methods = 90
    • LOC =458
    Code Coverage
    • Line Coverage: 0%
    • Block Coverage: 0%

    Old Code Coverage Report

    • Line Coverage: 96%
    • Block Coverage: 97%

    New Code Coverage Report

    Cyclomatic Complexity

    Cyclomatic Complexity report before Refactoring

    Cyclomatic Complexity report after Refactoring

    Obvious Dead Code Following public methods:

    • class DatabaseLayer: releasePool()

    Total: 1 method in 1 class

    Following public methods:

    • class DFService: overloaded constructor

    Total: 1 method in 1 class

    Note: This method is required by the tests.

    Automation
    Version Control Usage
    • Average Commits Per Day = 0
    • Average # of Files Changed Per Commit = 12
    • Average Commits Per Day = 7
    • Average # of Files Changed Per Commit = 4
    Coding Convention Violation 96 0

    Another similar report.

    • Share/Bookmark
    blog comments powered by Disqus
        Licensed under
    Creative Commons License
    Design by vikivix