1 of 20

Hello!

Lone Star PHP 2015

Hash Tag: #lsp15�Joind.in: https://joind.in/13554

Who I am?�Name: Cory�Twitter: @ckdarby�

2 of 20

Serial Legacy Killer

My Approach on going from Legacy -> Modern

3 of 20

Background

  • Code bases +500,000 lines
  • They are usually 5-10 years old

  • Billions of rows in the tables
  • Terabytes of data in the databases

  • +100 payment transactions/sec
  • +800 http requests/second

4 of 20

Legacy -> Modern

2.

Educate & Enforce

3.

Refactor

1.

Convince others

5 of 20

Legacy -> Modern

2.

Educate & Enforce

3.

Refactor

1.

Convince others

6 of 20

1.

Convince Others

Code might not argue with you but co-workers will.

7 of 20

Clarify

There is a Problem

8 of 20

Clarify

There is a Problem

9 of 20

I'd actually prefer if we didn't spend too much time on this. I know you were looking to make things easier, but there's likely more important things that would be better for you to work on.

Boss at [redacted]

10 of 20

Explain

The Value

11 of 20

Code Trumps

Everyone�Everything

12 of 20

2.

Educate & Enforce

Only as strong as the weakest link

13 of 20

Lead

By Example

14 of 20

Measure

Metrics

15 of 20

3.

Refactor

Not much to add here...

16 of 20

Do not

Reinvent The Wheel

17 of 20

Available Online Talks

Adam Culp

Refactoring 101

Paul Jones

Steps Toward Modernizing a Legacy Codebase

Michael Peacock

Refactoring to Symfony Components

18 of 20

Books

Martin Fowler

Refactoring: Improving the Design of Existing Code

Paul Jones�Modernizing Legacy Applications In PHP

Steve McConnell

Code Complete

19 of 20

Shameless Project Plugs

  • DUnit
  • SnappyRouter (Far more than a router)
  • Pho

20 of 20

The End!

Q&A Time

You can find me at:

@ckdarby

ckdarby@gmail.com