O'Reilly logo

Your Code as a Crime Scene by Adam Tornhill

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Find Surprising Change Patterns

Start by cloning the nopCommerce git repository:

 
git clone https://git01.codeplex.com/nopcommerce

Move into your repository and generate a version-control log. Let’s look at all changes to the code from the start of 2014 until the present day (defined as 2014-09-25—the day I’m writing this):

 
prompt>​ git log --pretty=format:'[%h] %an %ad %s' --date=short --numstat \
 
--after 2014-01-01 --before 2014-09-25 > nop_evo_2014.log

Your git log is now stored in the file nop_evo_2014.log. Let’s define a transformation to go with it.

Define Each Layer as an Architectural Boundary

Just as we did for our Pipes and Filters analysis, we map each architectural part to a logical name. Here’s the transformation for nopCommerce: ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required