Skip to content

A refactoring kata to demonstrate branching by abstraction

Notifications You must be signed in to change notification settings

exeal-es/billing-refactoring-kata

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Billing refactoring kata

Goals

The objective of this kata is to replace an old library by a new one (with a different contract).

To do so, you should try to use the branch by abstraction approach

The kata

In this kata, we have a BillingService with a unique method invoice.

This service is currently sending our invoice data to our partner, eCorp.

However, management has decided to no longer work with eCorp, and we must now send our invoice data to a new partner, casaDePapel.

Our goal is to replace all the usages of GoodOldBillingSystem by BrandNewBillingSystem.

Tips

First try to create an abstraction, and then replace the old code by the new one.

Your tests should always be green.

Perform baby steps.

About

A refactoring kata to demonstrate branching by abstraction

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 35.2%
  • C# 25.1%
  • PHP 22.3%
  • Kotlin 17.4%