avoid code duplication! principles & patterns

14
Avoid Code Duplication! Principles & Patterns Lars-Erik Kindblad Senior Consultant Blog: kindblad.com

Upload: lars-erik-kindblad

Post on 19-Jun-2015

2.157 views

Category:

Technology


2 download

DESCRIPTION

A presentation I gave for the Capgemini Microsoft Group on principles and patterns to use in order to avoid code duplication.

TRANSCRIPT

Page 1: Avoid code duplication! Principles & Patterns

Avoid Code Duplication! Principles & Patterns

Lars-Erik KindbladSenior Consultant

Blog: kindblad.com

Page 2: Avoid code duplication! Principles & Patterns

Agenda

Why avoid code duplication?Principles and patterns:

Extract Method Principle Inheritance Principle Execute Around Method Pattern

Page 3: Avoid code duplication! Principles & Patterns

Why avoid code duplication?

“The way you get programmer productivity is by eliminating the lines of code you have to write” – Steve Jobs

How? Stop duplicating and repeating code! Less Code to Write = Less Code to Maintain = More features delivered = More productive

We normalize databases – should also normalize our codeDRY – Don’t repeat yourself – Single Source of Truth

Page 4: Avoid code duplication! Principles & Patterns

Extract Method Principle: Example

Duplicated Code

Page 5: Avoid code duplication! Principles & Patterns

Extract Method Principle: Example

Extract the code to a new method

Page 6: Avoid code duplication! Principles & Patterns

Extract Method Principle: Example

Refactored to call the new method

Page 7: Avoid code duplication! Principles & Patterns

Inheritance Principle: Example

Duplicated Code

Page 8: Avoid code duplication! Principles & Patterns

Inheritance Principle: Example

Refactored to a common base class

Page 9: Avoid code duplication! Principles & Patterns

Execute Around Method Pattern: Example

Duplicated Code

Page 10: Avoid code duplication! Principles & Patterns

Execute Around Method Pattern: Example

Refactored to a new execute around method

Page 11: Avoid code duplication! Principles & Patterns

Execute Around Method Pattern: Example

Refactored to use the new method

Page 12: Avoid code duplication! Principles & Patterns

Execute Around Method Pattern: Example

Or:

Page 13: Avoid code duplication! Principles & Patterns
Page 14: Avoid code duplication! Principles & Patterns

The information contained in this presentation is proprietary.© 2012 Capgemini. All rights reserved.

www.capgemini.com

About Capgemini

With more than 120,000 people in 40 countries, Capgemini is one of the world's foremost providers of consulting, technology and outsourcing services. The Group reported 2011 global revenues of EUR 9.7 billion.Together with its clients, Capgemini creates and delivers business and technology solutions that fit their needs and drive the results they want. A deeply multicultural organization, Capgemini has developed its own way of working, the Collaborative Business ExperienceTM, and draws on Rightshore ®, its worldwide delivery model.

Rightshore® is a trademark belonging to Capgemini