Download pdf - W jax wenn-code altert

Transcript
Page 1: W jax  wenn-code altert

Wenn Code altertTipps, wie Wartungsprojekte frisch bleiben

Sven Peters / Atlassian

Page 2: W jax  wenn-code altert

Sven Peters

@svenpetsvenpet.com

Ambassador

mobro.co/svenpet

Page 3: W jax  wenn-code altert

Experiencemy

Disclaimer

@svenpetsvenpet.com

Page 4: W jax  wenn-code altert

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: W jax  wenn-code altert

? projektMaintenance

Page 6: W jax  wenn-code altert

?5 years

Page 7: W jax  wenn-code altert

?1M+lin

es of code

Page 8: W jax  wenn-code altert

?2M+lin

es of code

Page 9: W jax  wenn-code altert

?lostoverview

lines of code

Page 10: W jax  wenn-code altert

Bath Tub Curve Hardware

Page 11: W jax  wenn-code altert

Bath Tub Curve Software

Page 12: W jax  wenn-code altert

Bath Tub Curve Software

Page 13: W jax  wenn-code altert

gree

nField

Page 14: W jax  wenn-code altert

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 15: W jax  wenn-code altert
Page 16: W jax  wenn-code altert
Page 17: W jax  wenn-code altert

more cooks!

Page 18: W jax  wenn-code altert

...spoil the broth

too many cooks...

Page 19: W jax  wenn-code altert

REWRITE

Page 20: W jax  wenn-code altert
Page 21: W jax  wenn-code altert

REWRITE

Page 22: W jax  wenn-code altert

WindowsBroken

Page 23: W jax  wenn-code altert
Page 24: W jax  wenn-code altert
Page 25: W jax  wenn-code altert

the Engines Don‘t stop

Page 26: W jax  wenn-code altert

no Plan BThere is

THE SCRUM MASTER

THE DEVELOPER

THE MANAGER

Page 27: W jax  wenn-code altert

Boy Scout Rule

Leave the campground cleaner than you found it.

Page 28: W jax  wenn-code altert

TheToolchain

Page 29: W jax  wenn-code altert
Page 30: W jax  wenn-code altert

readabilityimprove

Page 31: W jax  wenn-code altert

Naming

Any fool can write code that a computer can understand. Good programmers write code that humans can understand.“

“Martin Fowler

Page 32: W jax  wenn-code altert

commentno

Page 33: W jax  wenn-code altert

testautomated

Page 34: W jax  wenn-code altert

Code Change Algorithmby Michael C. Feathers

Legacy1. Identify Change Points

2. Make Changes and Refactor

Page 35: W jax  wenn-code altert

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 36: W jax  wenn-code altert

Clean Code

Page 37: W jax  wenn-code altert

nterface Segregation Principle

pen Closed Principle

iskow Substitution Principle

ingle Responsible Principle

ependency Inversion Principle

Page 38: W jax  wenn-code altert
Page 39: W jax  wenn-code altert

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 40: W jax  wenn-code altert

Clean CodeDeveloper

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

Page 41: W jax  wenn-code altert

Clean CodeDeveloper&

Evolve

Page 42: W jax  wenn-code altert
Page 43: W jax  wenn-code altert
Page 44: W jax  wenn-code altert
Page 45: W jax  wenn-code altert

@svenpet

Sven PetersAtlassian


Recommended