24
When code gets older Tips for keeping maintenance projects alive and kicking Sven Peters Ambassador Atlassian

When code gets_older

  • View
    3.347

  • Download
    0

Embed Size (px)

DESCRIPTION

How to keep maintenance projects alive and kicking

Citation preview

Page 1: When code gets_older

When code gets olderTips for keeping maintenance projects alive and kicking

Sven PetersAmbassadorAtlassian

Page 2: When code gets_older

Sven Peters

@svenpetsvenpet.com

Ambassador

Page 3: When code gets_older

Experiencemy

Disclaimer

Page 4: When code gets_older

Nothing has a more profound or long-lasting negative effect on the productivity of a software team than a mess. Nothing.“

“Robert C. Martin

Page 5: When code gets_older

gree

nField

Page 6: When code gets_older

grün

e Wiese

How long does it take?

8 hours

We need it in 6!

OK, I‘ll do it in 4!

no Tests!

Page 7: When code gets_older
Page 8: When code gets_older
Page 9: When code gets_older

REWRITE

Page 10: When code gets_older

REWRITE

Page 11: When code gets_older

WindowsBroken

Page 12: When code gets_older

the Engines Don‘t stop

Page 13: When code gets_older

no Plan BThere is

THE SCRUM MASTER

THE DEVELOPER

THE MANAGER

Page 14: When code gets_older

readabilityimprove

Page 15: When code gets_older

commentno

Page 16: When code gets_older

testautomated

Page 17: When code gets_older

Code Change Algorithmby Michael C. Feathers

Legacy1. Identify Change Points

5. Make Changes and Refactor

2. Find Test Points

3. Break Dependencies

4. Write Tests

Page 18: When code gets_older

Clean Code

Page 19: When code gets_older

nterface Segregation Principle

pen Closed Principle

iskow Substitution Principle

ingle Responsible Principle

ependency Inversion Principle

Page 20: When code gets_older

DRY Don‘t repeat yourself

KISS - Keep it simple, stupid

Favour Composition over InheritanceRoot Cause Analysis

Single Level of Abstraction

Seperation of ConcernsYou Ain‘t Gonna Need It

Page 21: When code gets_older

Clean CodeDeveloper

von Stefan Lieser &Ralf Westphalclean-code-developer.de

Page 22: When code gets_older
Page 23: When code gets_older
Page 24: When code gets_older

@svenpet

Sven PetersAtlassian