{ Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

20
{ Clean Code } Lesbar, wartbar, erweiterbar

Transcript of { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Page 1: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

{ Clean Code }Lesbar, wartbar, erweiterbar

Page 2: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Uncle Bob wants you to write Clean Code*

Buch: http://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882Videos: http://cleancoders.com/

* so does everyone who’ll ever have to work with your code

Page 3: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Fragile

Unreadable

Page 4: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Clean Code = Code Usability

Bildquelle: http://www.sxc.hu/photo/785502

Page 5: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

What’s in a name?

Marker: You’re naming something

Bildquelle: http://www.sxc.hu/photo/1438328/

Page 6: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Reveal

IntentBildquelle: http://www.sxc.hu/photo/626209

Nice summary of the “Naming” chapter: http://www.itiseezee.com/?p=83

Page 7: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Reveal

IntentBildquelle: http://www.sxc.hu/photo/626209

Marker: You want to comment

/* No comments! */

Page 8: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Reveal

IntentBildquelle: http://www.sxc.hu/photo/626209

Marker: You’re writing a condition

if (isCondition())

Page 9: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Don’t make me think

Marker: You’re passing a Boolean into a function

http://www.sxc.hu/photo/365439

Page 10: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Pfadfinder-Regel

Marker: You see ugly code

Bildquelle: http://www.sxc.hu/photo/1438328/ Bild

quel

le: h

ttp://

ww

w.s

xc.

hu/p

hoto

/513

169

Page 11: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

DRY

Marker: Duplication

Bildquelle: http://www.eurobricks.com/forum/index.php?showtopic=18914&st=25

Page 12: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Extract method

Marker: Long function || many indentations

Bildquelle: http://www.flickr.com/photos/cives-expat/9512089306/

Page 13: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Bildquelle: http://codeguide.hu/2013/08/08/tesztvezerelt-fejlesztes-tdd/

Marker: You’re about to write new code

● Better design● Safe refactoring● Tests as

documentation

Page 14: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Code Katas

Bildquelle: http://www.sxc.hu/photo/1438328/

http://codersdojo.org/

Bildquelle: http://www.flickr.com/photos/the-consortium/5301701486/Code with other people!

Page 15: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Clean Code Developerhttp://www.clean-code-developer.de/

Page 16: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

SoftwerkskammerTreffen jeden 2. Mittwoch im Monat

http://softwerkskammer.org

Page 17: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Questions?

Bildquelle: http://www.sxc.hu/photo/1438328/

[email protected]@findingmarbles

Page 18: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

The End

Page 19: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Tell, don’t ask

Tell, don’t ask

Bildquelle: http://martinfowler.com/bliki/TellDontAsk.html

● Bundle logic & data

Page 20: { Clean Code } - Finding Marbles · Clean Code = Code Usability Bildquelle:

Law of Demeter

Marker: $this->getDog()->getLegs()->posX

Bildquelle: http://www.sxc.hu/photo/558572