SlideShare ist ein Scribd-Unternehmen logo
1 von 118
Downloaden Sie, um offline zu lesen
Clean	
  Code	
  -­‐	
  wozu	
  
eigentlich?

Dienstag, 14. Januar 14
Wer	
  sind	
  wir?

Dienstag, 14. Januar 14

2
Wer	
  bin	
  ich?

3

Koordinator	
  
So>wareentwicklung
Scrum-­‐Master
Product-­‐Owner

Teamleiter	
  
Me	
  =	
  Lorenz

Dienstag, 14. Januar 14

Dozent	
  Echtzeit-­‐	
  &	
  
Prozess-­‐EDV
So>ware-­‐Entwickler
Clean	
  Code	
  -­‐	
  wozu	
  eigentlich?

4

ich	
  brauche	
  hier	
  ein	
  großes	
  Loch

Dienstag, 14. Januar 14
Clean	
  Code	
  -­‐	
  wozu	
  eigentlich?

Dienstag, 14. Januar 14

5
Anforderungen	
  an	
  ein	
  Produkt

Dienstag, 14. Januar 14

6
Anforderungen	
  an	
  ein	
  Produkt

FunkGon

Dienstag, 14. Januar 14

7
Anforderungen	
  an	
  ein	
  Produkt

FunkGon

Dienstag, 14. Januar 14

8

Non	
  FuncGonal	
  
Requirements
Anforderungen	
  an	
  ein	
  Produkt

FunkGon

Dienstag, 14. Januar 14

9

Non	
  FuncGonal	
  
Requirements
Anforderungen	
  an	
  ein	
  Produkt

FunkGon

Dienstag, 14. Januar 14

InvesGGonssicherheit

10

Non	
  Funcitonal	
  
Requrements
Anforderungen	
  an	
  ein	
  Produkt

FunkGon
SE	
  100%
Dienstag, 14. Januar 14

InvesGGonssicherheit

10

Non	
  Funcitonal	
  
Requrements
Anforderungen	
  an	
  ein	
  Produkt

FunkGon
SE	
  100%
Dienstag, 14. Januar 14

InvesGGonssicherheit

10

Non	
  Funcitonal	
  
Requrements
SE	
  25%
Anforderungen	
  an	
  ein	
  Produkt

10

FunkGon

InvesGGonssicherheit

Non	
  Funcitonal	
  
Requrements

SE	
  100%

Clean	
  Code

SE	
  25%

Dienstag, 14. Januar 14
Inves==onssicherheit

Dienstag, 14. Januar 14

11
Inves==onssicherheit

11

Erhalt	
  des	
  Status	
  Quo

Dienstag, 14. Januar 14
Inves==onssicherheit

11

Erhalt	
  des	
  Status	
  Quo
prävenGve	
  Wartung

Dienstag, 14. Januar 14
Inves==onssicherheit
InvesGGonssicherheit	
  ist	
  ein	
  

ökonomischer	
  ImperaGv

Dienstag, 14. Januar 14

12
Inves=onssicherheit	
  bei	
  So?ware

Dienstag, 14. Januar 14

13
Inves=onssicherheit	
  bei	
  So?ware
Wartung?	
  Status	
  Quo?

Dienstag, 14. Januar 14

13
Inves=onssicherheit	
  bei	
  So?ware
Wartung?	
  Status	
  Quo?
Weiterentwicklung!

Dienstag, 14. Januar 14

13
Inves=onssicherheit	
  bei	
  So?ware
Wartung?	
  Status	
  Quo?
Weiterentwicklung!
prävenGv?

Dienstag, 14. Januar 14

13
Inves=onssicherheit	
  bei	
  So?ware
Wartung?	
  Status	
  Quo?
Weiterentwicklung!
prävenGv?
reakGv!

Dienstag, 14. Januar 14

13
Inves=onssicherheit	
  bei	
  So?ware

13

Wartung?	
  Status	
  Quo?
Weiterentwicklung!
prävenGv?
reakGv!

Inhalt	
  :	
  unbekannt!

Dienstag, 14. Januar 14
Inves=onssicherheit	
  bei	
  So?ware

13

Wartung?	
  Status	
  Quo?
Weiterentwicklung!
prävenGv?
reakGv!

Inhalt	
  :	
  unbekannt!
Zeitpunkt:	
  unbekannt!

Dienstag, 14. Januar 14
Inves=onssicherheit	
  bei	
  So?ware

13

Wartung?	
  Status	
  Quo?
Weiterentwicklung!
prävenGv?
reakGv!

Inhalt	
  :	
  unbekannt!
Zeitpunkt:	
  unbekannt!
Schnell	
  soll‘s	
  gehen,	
  kosten	
  darf‘s	
  nix.
Dienstag, 14. Januar 14
Produk=vität

Dienstag, 14. Januar 14

14
Produk=vität

Dienstag, 14. Januar 14

15
Produk=vität

Dienstag, 14. Januar 14

16
Produk=vität

Dienstag, 14. Januar 14

17
Produk=vität

Dienstag, 14. Januar 14

18
Evolvierbarkeit

19

jedes	
  Feature	
  ist	
  mit	
  dem	
  selben	
  Aufwand	
  
implemenGerbar,	
  als	
  wäre	
  es	
  das	
  erste	
  Feature	
  gewesen.

Dienstag, 14. Januar 14
Evolvierbarkeit,	
  Wandelbarkeit

20

jedes	
  Feature	
  ist	
  implemenGerbar,	
  weil	
  möglichst	
  
keine	
  Entscheidung	
  irreversibel	
  umgesetzt	
  wird.

Dienstag, 14. Januar 14
Korrektheit

21

die	
  So>ware	
  tut	
  das,	
  was	
  man	
  von	
  ihr	
  erwartet.

Dienstag, 14. Januar 14
Kon=nuierliche	
  Verbesserung

22

Mehrfach	
  tägliches	
  Refactoring	
  sorgt	
  für	
  
steGge	
  Verbesserung	
  der	
  So>ware.
Dienstag, 14. Januar 14
Produk=onseffizienz

23

schneller	
  korrekt
einfacher	
  angepasst
einfacher	
  angepasst
leichter	
  verständlich
leichter	
  verständlich

Dienstag, 14. Januar 14
Kosten?

Dienstag, 14. Januar 14

24
Kosten?
Tests	
  +	
  Refactoring

Dienstag, 14. Januar 14

24
Kosten?
Tests	
  +	
  Refactoring
Infrastruktur

Dienstag, 14. Januar 14

24
Kosten?
Tests	
  +	
  Refactoring
Infrastruktur
Weiterbildung

Dienstag, 14. Januar 14

24
Kosten?

24

Tests	
  +	
  Refactoring
Infrastruktur
Weiterbildung

Bugs

Dienstag, 14. Januar 14
Kosten?

24

Tests	
  +	
  Refactoring
Infrastruktur
Weiterbildung

Bugs
Einarbeitung

Dienstag, 14. Januar 14
Kosten?

24

Tests	
  +	
  Refactoring
Infrastruktur
Weiterbildung

Bugs
Einarbeitung
Aufwand

Dienstag, 14. Januar 14
Kosten?

24

Tests	
  +	
  Refactoring
Infrastruktur
Weiterbildung

Bugs
Einarbeitung
Aufwand
Schätzungen
Dienstag, 14. Januar 14
Was	
  ist	
  Clean	
  Code?

25

Evolvierbarkeit,	
  Wandelbarkeit,	
  
Korrektheit,	
  ProdukGonseffizienz	
  und	
  
konGnuierliche	
  Verbesserung	
  sichern.
Dienstag, 14. Januar 14
Was	
  ist	
  Clean	
  Code?

26

Handwerk

Dienstag, 14. Januar 14
Was	
  ist	
  Clean	
  Code?

27

Mindset

Dienstag, 14. Januar 14
Was	
  ist	
  Clean	
  Code?

28

AutomaGsierung

Dienstag, 14. Januar 14
Clean	
  Code

29

Prinzipien

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  KISS

30

Keep	
  It	
  Straight	
  and	
  Simple

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  DRY

31

Don‘t	
  Repeat	
  Yourself

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  YAGNI

32

You	
  Aren‘t	
  Going	
  to	
  Need	
  It

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  PLA

33

Principle	
  of	
  Least	
  Astonishment

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

34

SRP,	
  OCP,	
  LSP,	
  ISP,	
  DIP

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

35

“There should never be
more than one reason for
a class to change.”
Single	
  Responsible	
  Principle	
  (SRP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

36

Open	
  Closed	
  Principle	
  (OCP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

36

Offen	
  für	
  
Erweiterung

Open	
  Closed	
  Principle	
  (OCP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

Geschlossen	
  für	
  
Veränderung

36

Offen	
  für	
  
Erweiterung

Open	
  Closed	
  Principle	
  (OCP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

37

Class Rectangle

Class Square

Liskov	
  SubsGtuGon	
  Principle	
  (LSP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

37

Class Rectangle

Class Square

Liskov	
  SubsGtuGon	
  Principle	
  (LSP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

37

Class Rectangle

Class Square

Liskov	
  SubsGtuGon	
  Principle	
  (LSP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

38

Interface	
  SegregaGon	
  Principle	
  (ISP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

39

Dependency	
  Inversion	
  Principle	
  (DIP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

39

Dependency	
  Inversion	
  Principle	
  (DIP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

39

Dependency	
  Inversion	
  Principle	
  (DIP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

39

Dependency	
  Inversion	
  Principle	
  (DIP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

39

Dependency	
  Inversion	
  Principle	
  (DIP)

Dienstag, 14. Januar 14
Clean	
  Code	
  Prinzipien	
  -­‐	
  SOLID

39

Dependency	
  Inversion	
  Principle	
  (DIP)

Dienstag, 14. Januar 14
Clean	
  Code

40

PrakGken

Dienstag, 14. Januar 14
Clean	
  Code	
  -­‐	
  Prak=ken
Test	
  First
Unit-­‐Tests
ApplicaGon-­‐Tests

Dienstag, 14. Januar 14

41
Clean	
  Code	
  -­‐	
  Prak=ken

42

Test	
  First
Unit-­‐Tests
ApplicaGon-­‐Tests

Implement
Code-­‐Style

Dienstag, 14. Januar 14
Clean	
  Code	
  -­‐	
  Prak=ken

43

Test	
  First
Unit-­‐Tests
ApplicaGon-­‐Tests

Refactor
SOLID?	
  Style?

Dienstag, 14. Januar 14

Implement
Code-­‐Style
Clean	
  Code	
  -­‐	
  Prak=ken

44

Test	
  First
Unit-­‐Tests
ApplicaGon-­‐Tests

Refactor
SOLID?	
  Style?

Dienstag, 14. Januar 14

Implement
Code-­‐Style
Clean	
  Code	
  -­‐	
  Prak=ken	
  -­‐	
  Style

Dienstag, 14. Januar 14

45
Clean	
  Code	
  -­‐	
  Prak=ken	
  -­‐	
  Style
z.B.	
  Kurze	
  Klassen	
  &	
  Methoden

Dienstag, 14. Januar 14

45
Clean	
  Code	
  -­‐	
  Prak=ken	
  -­‐	
  Style
z.B.	
  Kurze	
  Klassen	
  &	
  Methoden
z.B.	
  eindeuGge	
  und	
  sprechende	
  Namen

Dienstag, 14. Januar 14

45
Clean	
  Code	
  -­‐	
  Prak=ken	
  -­‐	
  Style
z.B.	
  Kurze	
  Klassen	
  &	
  Methoden
z.B.	
  eindeuGge	
  und	
  sprechende	
  Namen
z.B.	
  einheitliche	
  FormaGerung

Dienstag, 14. Januar 14

45
Clean	
  Code	
  -­‐	
  Prak=ken	
  -­‐	
  Style

45

z.B.	
  Kurze	
  Klassen	
  &	
  Methoden
z.B.	
  eindeuGge	
  und	
  sprechende	
  Namen
z.B.	
  einheitliche	
  FormaGerung
z.B.	
  vermeiden	
  von	
  Seiteneffekten	
  in	
  FunkGonen

Dienstag, 14. Januar 14
Clean	
  Code	
  -­‐	
  Prak=ken	
  -­‐	
  Style

45

z.B.	
  Kurze	
  Klassen	
  &	
  Methoden
z.B.	
  eindeuGge	
  und	
  sprechende	
  Namen
z.B.	
  einheitliche	
  FormaGerung
z.B.	
  vermeiden	
  von	
  Seiteneffekten	
  in	
  FunkGonen
z.B.	
  Anzahl	
  der	
  Argumente	
  in	
  FunkGonen

Dienstag, 14. Januar 14
Clean	
  Code	
  -­‐	
  Prak=ken	
  -­‐	
  Style

45

z.B.	
  Kurze	
  Klassen	
  &	
  Methoden
z.B.	
  eindeuGge	
  und	
  sprechende	
  Namen
z.B.	
  einheitliche	
  FormaGerung
z.B.	
  vermeiden	
  von	
  Seiteneffekten	
  in	
  FunkGonen
z.B.	
  Anzahl	
  der	
  Argumente	
  in	
  FunkGonen
.....	
  und	
  viele,	
  viele	
  mehr.

Dienstag, 14. Januar 14
Clean	
  Code	
  -­‐	
  Prak=ken	
  -­‐	
  Style

45

z.B.	
  Kurze	
  Klassen	
  &	
  Methoden
z.B.	
  eindeuGge	
  und	
  sprechende	
  Namen
z.B.	
  einheitliche	
  FormaGerung
z.B.	
  vermeiden	
  von	
  Seiteneffekten	
  in	
  FunkGonen
z.B.	
  Anzahl	
  der	
  Argumente	
  in	
  FunkGonen
.....	
  und	
  viele,	
  viele	
  mehr.
Sorry.

Dienstag, 14. Januar 14
Clean	
  Code	
  -­‐	
  Prak=ken	
  -­‐	
  Style

46

Namen	
  sind	
  mehr	
  als	
  Schall	
  und	
  Rauch
*	
  nutze	
  Namen,	
  um	
  deine	
  Absicht	
  zu	
  benennen
*	
  nutze	
  eindeuGge	
  Namen
*	
  nutze	
  Rollen	
  im	
  Namen,	
  wenn	
  Design-­‐Panerns	
  involviert	
  
sind.	
  (addressObserver)
*	
  meide	
  Namen,	
  die	
  den	
  Leser	
  auf	
  eine	
  falsche	
  Fährte	
  
führen
*	
  meide	
  sehr	
  ähnliche	
  Namen
*	
  meide	
  Rauschen	
  in	
  Namen	
  (Info,Data,Object,the,a,..)
*	
  nutze	
  aussprechbare	
  Namen
*	
  nutze	
  Namen,	
  nach	
  denen	
  sich	
  suchen	
  lässt
*	
  meide	
  Typ-­‐	
  oder	
  Sichtbarkeits-­‐Codierung	
  (miDaysLe>)

Dienstag, 14. Januar 14
Clean	
  Code	
  -­‐	
  Prak=ken	
  -­‐	
  Style

47

Namen	
  sind	
  mehr	
  als	
  Schall	
  und	
  Rauch
*	
  nutze	
  SubstanGve	
  für	
  Klassen
*	
  nutze	
  Verben	
  für	
  Methoden
*	
  meide	
  Slang	
  oder	
  Witzige	
  Namen	
  
*	
  wähle	
  einen	
  Namen	
  für	
  ein	
  Konzept	
  und	
  bleibe	
  dabei	
  
(lade,	
  lese,	
  hole,	
  was	
  wird	
  hier	
  verwendet?)
*	
  vergebe	
  genau	
  einen	
  Namen	
  für	
  eine	
  Idee
**	
  meide	
  das	
  Erschaffen	
  von	
  Teekesselchen	
  (Homonyme)
**	
  meide	
  das	
  vergeben	
  mehrer	
  Namen	
  für	
  die	
  selbe	
  Idee
*	
  nutze	
  Namen	
  aus	
  der	
  Problem-­‐Domäne,	
  wenn	
  es	
  keinen	
  
technischen	
  Begriff	
  gibt	
  (s.o.	
  Panern-­‐Rollen)

Dienstag, 14. Januar 14
Clean	
  Code	
  -­‐	
  Prak=ken
Version	
  Control	
  System

Dienstag, 14. Januar 14

48
Clean	
  Code	
  -­‐	
  Prak=ken
Version	
  Control	
  System
Issue	
  Tracking
Features	
  und	
  Bugs

Dienstag, 14. Januar 14

48
Clean	
  Code	
  -­‐	
  Prak=ken
Version	
  Control	
  System
Issue	
  Tracking
Features	
  und	
  Bugs

ConGnuous	
  IntegraGon
Voll	
  automaGsierter	
  Build,	
  Deploy	
  und	
  Test-­‐Zyklus
Erfassung	
  von	
  Kennzahlen	
  (KPI‘s)
Visualisierung	
  von	
  Ergebnissen

Dienstag, 14. Januar 14

48
Clean	
  Code	
  -­‐	
  Prak=ken
Lernen
Literatur,	
  Youtube
Pair	
  Programming

Dienstag, 14. Januar 14

49
Clean	
  Code	
  -­‐	
  Prak=ken
Lernen
Literatur,	
  Youtube
Pair	
  Programming

Trainieren
Coding	
  Dojos
Pair	
  Programming

Dienstag, 14. Januar 14

49
Clean	
  Code	
  -­‐	
  Prak=ken
Lernen
Literatur,	
  Youtube
Pair	
  Programming

Trainieren
Coding	
  Dojos
Pair	
  Programming

ReflekGeren
Coding	
  Dojos
Pair	
  Programming

Dienstag, 14. Januar 14

49
Clean	
  Code	
  -­‐	
  Wie	
  anfangen?

Dienstag, 14. Januar 14

50
Clean	
  Code	
  einführen

51

Regeln	
  zu	
  Entwurf	
  und	
  Coding	
  lernen

Dienstag, 14. Januar 14
Clean	
  Code	
  einführen

52

Version	
  Control	
  System:	
  z.B.	
  GIT

Dienstag, 14. Januar 14
Clean	
  Code	
  einführen

53

Issue	
  Tracking	
  -­‐	
  z.B.	
  Jira

Dienstag, 14. Januar 14
Clean	
  Code	
  einführen

54

ConGnuous	
  IntegraGon	
  -­‐	
  z.B.	
  Jenkins

Dienstag, 14. Januar 14
Clean	
  Code	
  einführen

55

Zusammenarbeit	
  im	
  Team:	
  
Regeln	
  definieren
Dienstag, 14. Januar 14
Clean	
  Code	
  einführen
Messwerte	
  erfassen	
  -­‐	
  KPI‘s

Soft ware z.B.
Sonar
Emma
Findbugs
Checkstyle

Dienstag, 14. Januar 14

56
Clean	
  Code	
  einführen
Messwerte	
  erfassen	
  -­‐	
  KPI‘s

Soft ware z.B.
Sonar
Emma
Findbugs
Checkstyle

Dienstag, 14. Januar 14

56

Tests	
  sind	
  grün
Clean	
  Code	
  einführen
Messwerte	
  erfassen	
  -­‐	
  KPI‘s

56

Tests	
  sind	
  grün
offene	
  Tickets

Soft ware z.B.
Sonar
Emma
Findbugs
Checkstyle

Dienstag, 14. Januar 14
Clean	
  Code	
  einführen
Messwerte	
  erfassen	
  -­‐	
  KPI‘s

56

Tests	
  sind	
  grün
offene	
  Tickets
Testabdeckung

Soft ware z.B.
Sonar
Emma
Findbugs
Checkstyle

Dienstag, 14. Januar 14
Clean	
  Code	
  einführen
Messwerte	
  erfassen	
  -­‐	
  KPI‘s

56

Tests	
  sind	
  grün
offene	
  Tickets
Testabdeckung

Soft ware z.B.
Sonar
Emma
Findbugs
Checkstyle

Dienstag, 14. Januar 14

Code-­‐Format
Clean	
  Code	
  einführen
Messwerte	
  erfassen	
  -­‐	
  KPI‘s

56

Tests	
  sind	
  grün
offene	
  Tickets
Testabdeckung

Soft ware z.B.
Sonar
Emma
Findbugs
Checkstyle

Dienstag, 14. Januar 14

Code-­‐Format
VerdächGger	
  Code
Clean	
  Code	
  einführen
Messwerte	
  erfassen	
  -­‐	
  KPI‘s

56

Tests	
  sind	
  grün
offene	
  Tickets
Testabdeckung

Soft ware z.B.
Sonar
Emma
Findbugs
Checkstyle

Code-­‐Format
VerdächGger	
  Code
CyclomaGc	
  Complexity

Dienstag, 14. Januar 14
Clean	
  Code	
  einführen
Messwerte	
  erfassen	
  -­‐	
  KPI‘s

56

Tests	
  sind	
  grün
offene	
  Tickets
Testabdeckung

Soft ware z.B.
Sonar
Emma
Findbugs
Checkstyle

Code-­‐Format
VerdächGger	
  Code
CyclomaGc	
  Complexity
Technical	
  Debt

Dienstag, 14. Januar 14
Clean	
  Code	
  einführen

57

Bewertung	
  Trennen

Dienstag, 14. Januar 14
Clean	
  Code	
  einführen

58

Soft ware
walldee auf Github
Play & Scala :-)

Team	
  Monitor

Dienstag, 14. Januar 14
Clean	
  Code

Dienstag, 14. Januar 14

59
Literatur

Dienstag, 14. Januar 14

60
Literatur

Dienstag, 14. Januar 14

61
Literatur

Dienstag, 14. Januar 14

62
Literatur

63

www.clean-­‐code-­‐developer.de

Dienstag, 14. Januar 14
Literatur

Dienstag, 14. Januar 14

64
Literatur

Dienstag, 14. Januar 14

65
Literatur

Dienstag, 14. Januar 14

66
Literatur

Dienstag, 14. Januar 14

67
Lorenz	
  Hahn
Koordinator	
  So?ware	
  Entwicklung
Blücherstr.	
  22
10961	
  Berlin
fon	
  	
  	
  	
  	
  	
  +49	
  (0)30-­‐609	
  85	
  71	
  91
mobil	
  	
  	
  	
  +49	
  (0)179-­‐527	
  76	
  83

lorenz.hahn@leanovate.de
Xing:	
  	
  hnp://www.xing.com/profiles/Lorenz_Hahn2
Linkedin:	
  	
  hnp://de.linkedin.com/in/lorenzhahn

Dienstag, 14. Januar 14
Inkrementeller	
  Entwurf

69

KonGnuierliche	
  Weiterentwicklung	
  der	
  Architektur
Dienstag, 14. Januar 14
Inkrementeller	
  Entwurf

70

Klassisch:	
  Schicht	
  für	
  Schicht	
  mit	
  
SchninstellendefiniGon	
  
Dienstag, 14. Januar 14
Inkrementeller	
  Entwurf

71

Inkrementell
Dienstag, 14. Januar 14
Inkrementeller	
  Entwurf

72

Hierbei	
  muss	
  exisGerender	
  Code	
  angepasst	
  werden
=>	
  Refactoring!
Dienstag, 14. Januar 14

Weitere ähnliche Inhalte

Andere mochten auch

O Livro de Êxodo a 1 Samuel Disponível em: www.portadesiao.blogspot.com
O Livro de Êxodo a 1 Samuel Disponível em: www.portadesiao.blogspot.comO Livro de Êxodo a 1 Samuel Disponível em: www.portadesiao.blogspot.com
O Livro de Êxodo a 1 Samuel Disponível em: www.portadesiao.blogspot.comleitemel
 
Tubulações industriais senai rj
Tubulações industriais senai rjTubulações industriais senai rj
Tubulações industriais senai rjMichelle Paulina
 
Tutorial BizAgi Modelagem de Processos de Negócio
Tutorial BizAgi Modelagem de Processos de NegócioTutorial BizAgi Modelagem de Processos de Negócio
Tutorial BizAgi Modelagem de Processos de NegócioRildo (@rildosan) Santos
 
Direito administrativo apostila-resumo bom para concursos
Direito administrativo  apostila-resumo bom para concursosDireito administrativo  apostila-resumo bom para concursos
Direito administrativo apostila-resumo bom para concursosleticia_sa
 
esquema eletrico do Renault clio-1-0-16
esquema eletrico do Renault clio-1-0-16esquema eletrico do Renault clio-1-0-16
esquema eletrico do Renault clio-1-0-16eletrocarservice
 
Trivial - Cómo me siento, cómo se siente
Trivial - Cómo me siento, cómo se sienteTrivial - Cómo me siento, cómo se siente
Trivial - Cómo me siento, cómo se sienteAnabel Cornago
 
Como Elaborar Projetos Sociais
Como Elaborar Projetos SociaisComo Elaborar Projetos Sociais
Como Elaborar Projetos Sociaisafp.leite
 
Building a keyboard from scratch
Building a keyboard from scratchBuilding a keyboard from scratch
Building a keyboard from scratchJesse Vincent
 
Apostila anatomia-sistema-esqueletico
Apostila anatomia-sistema-esqueleticoApostila anatomia-sistema-esqueletico
Apostila anatomia-sistema-esqueleticothaisfml
 
Asientos contables clasicos
Asientos contables clasicosAsientos contables clasicos
Asientos contables clasicosPhp Hmngf Ilogra
 
55 Business Models to Revolutionize your Business by Michaela Csik
55 Business Models to Revolutionize your Business by Michaela Csik55 Business Models to Revolutionize your Business by Michaela Csik
55 Business Models to Revolutionize your Business by Michaela Csikjindrichweiss
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Yasutomo Kawanishi
 
Wirkungsvolles Corporate Volunteering: Praxistipps und -tool für Unternehmen
Wirkungsvolles Corporate Volunteering: Praxistipps und -tool für UnternehmenWirkungsvolles Corporate Volunteering: Praxistipps und -tool für Unternehmen
Wirkungsvolles Corporate Volunteering: Praxistipps und -tool für UnternehmenPHINEO gemeinnützige AG
 
Kundenlizenztraining mit Irene Kisse
Kundenlizenztraining mit Irene KisseKundenlizenztraining mit Irene Kisse
Kundenlizenztraining mit Irene KisseMicrosoft Österreich
 
JournalistInnen in der Aufmerksamkeitsökonomie: Wie nutzt man Weblog, Twitter...
JournalistInnen in der Aufmerksamkeitsökonomie: Wie nutzt man Weblog, Twitter...JournalistInnen in der Aufmerksamkeitsökonomie: Wie nutzt man Weblog, Twitter...
JournalistInnen in der Aufmerksamkeitsökonomie: Wie nutzt man Weblog, Twitter...spieli
 
Prototyping für Visionen & Produkte
Prototyping für Visionen & ProduktePrototyping für Visionen & Produkte
Prototyping für Visionen & ProdukteMarcel Zimmermann
 

Andere mochten auch (20)

O Livro de Êxodo a 1 Samuel Disponível em: www.portadesiao.blogspot.com
O Livro de Êxodo a 1 Samuel Disponível em: www.portadesiao.blogspot.comO Livro de Êxodo a 1 Samuel Disponível em: www.portadesiao.blogspot.com
O Livro de Êxodo a 1 Samuel Disponível em: www.portadesiao.blogspot.com
 
Tubulações industriais senai rj
Tubulações industriais senai rjTubulações industriais senai rj
Tubulações industriais senai rj
 
GSM fundamentals (Huawei)
GSM fundamentals (Huawei)GSM fundamentals (Huawei)
GSM fundamentals (Huawei)
 
Tutorial BizAgi Modelagem de Processos de Negócio
Tutorial BizAgi Modelagem de Processos de NegócioTutorial BizAgi Modelagem de Processos de Negócio
Tutorial BizAgi Modelagem de Processos de Negócio
 
Direito administrativo apostila-resumo bom para concursos
Direito administrativo  apostila-resumo bom para concursosDireito administrativo  apostila-resumo bom para concursos
Direito administrativo apostila-resumo bom para concursos
 
esquema eletrico do Renault clio-1-0-16
esquema eletrico do Renault clio-1-0-16esquema eletrico do Renault clio-1-0-16
esquema eletrico do Renault clio-1-0-16
 
Trivial - Cómo me siento, cómo se siente
Trivial - Cómo me siento, cómo se sienteTrivial - Cómo me siento, cómo se siente
Trivial - Cómo me siento, cómo se siente
 
Como Elaborar Projetos Sociais
Como Elaborar Projetos SociaisComo Elaborar Projetos Sociais
Como Elaborar Projetos Sociais
 
Building a keyboard from scratch
Building a keyboard from scratchBuilding a keyboard from scratch
Building a keyboard from scratch
 
EDUCAÇÃO INFANTIL
EDUCAÇÃO INFANTILEDUCAÇÃO INFANTIL
EDUCAÇÃO INFANTIL
 
Apostila anatomia-sistema-esqueletico
Apostila anatomia-sistema-esqueleticoApostila anatomia-sistema-esqueletico
Apostila anatomia-sistema-esqueletico
 
iks auf der gearconf 2012: Clean Code - Von der Lehre in den Alltag
iks auf der gearconf 2012: Clean Code - Von der Lehre in den Alltagiks auf der gearconf 2012: Clean Code - Von der Lehre in den Alltag
iks auf der gearconf 2012: Clean Code - Von der Lehre in den Alltag
 
Asientos contables clasicos
Asientos contables clasicosAsientos contables clasicos
Asientos contables clasicos
 
⼤企業で実現するイマドキの内製開発
⼤企業で実現するイマドキの内製開発⼤企業で実現するイマドキの内製開発
⼤企業で実現するイマドキの内製開発
 
55 Business Models to Revolutionize your Business by Michaela Csik
55 Business Models to Revolutionize your Business by Michaela Csik55 Business Models to Revolutionize your Business by Michaela Csik
55 Business Models to Revolutionize your Business by Michaela Csik
 
Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~Pythonによる機械学習入門 ~Deep Learningに挑戦~
Pythonによる機械学習入門 ~Deep Learningに挑戦~
 
Wirkungsvolles Corporate Volunteering: Praxistipps und -tool für Unternehmen
Wirkungsvolles Corporate Volunteering: Praxistipps und -tool für UnternehmenWirkungsvolles Corporate Volunteering: Praxistipps und -tool für Unternehmen
Wirkungsvolles Corporate Volunteering: Praxistipps und -tool für Unternehmen
 
Kundenlizenztraining mit Irene Kisse
Kundenlizenztraining mit Irene KisseKundenlizenztraining mit Irene Kisse
Kundenlizenztraining mit Irene Kisse
 
JournalistInnen in der Aufmerksamkeitsökonomie: Wie nutzt man Weblog, Twitter...
JournalistInnen in der Aufmerksamkeitsökonomie: Wie nutzt man Weblog, Twitter...JournalistInnen in der Aufmerksamkeitsökonomie: Wie nutzt man Weblog, Twitter...
JournalistInnen in der Aufmerksamkeitsökonomie: Wie nutzt man Weblog, Twitter...
 
Prototyping für Visionen & Produkte
Prototyping für Visionen & ProduktePrototyping für Visionen & Produkte
Prototyping für Visionen & Produkte
 

Mehr von leanovate GmbH

20160426 value of diversity in teams
20160426 value of diversity in teams20160426 value of diversity in teams
20160426 value of diversity in teamsleanovate GmbH
 
SIBB Forum HR - Rollen und Teams in agilen Organisationen
SIBB Forum HR - Rollen und Teams in agilen OrganisationenSIBB Forum HR - Rollen und Teams in agilen Organisationen
SIBB Forum HR - Rollen und Teams in agilen Organisationenleanovate GmbH
 
Berlin Scrum Meetup Intro / Reality check: Scrum Master role
Berlin Scrum Meetup Intro / Reality check: Scrum Master roleBerlin Scrum Meetup Intro / Reality check: Scrum Master role
Berlin Scrum Meetup Intro / Reality check: Scrum Master roleleanovate GmbH
 
ProductCamp Berlin 2015 - Talk "If you trust me, say 'Hello'!" by Katrin Sauer
ProductCamp Berlin 2015 - Talk "If you trust me, say 'Hello'!" by Katrin SauerProductCamp Berlin 2015 - Talk "If you trust me, say 'Hello'!" by Katrin Sauer
ProductCamp Berlin 2015 - Talk "If you trust me, say 'Hello'!" by Katrin Sauerleanovate GmbH
 
Play - ein effizientes Webframework mit Spaßfaktor
Play - ein effizientes Webframework mit SpaßfaktorPlay - ein effizientes Webframework mit Spaßfaktor
Play - ein effizientes Webframework mit Spaßfaktorleanovate GmbH
 
Workshop Agile Prozesse in der Redaktion - tekom 2013
Workshop Agile Prozesse in der Redaktion - tekom 2013Workshop Agile Prozesse in der Redaktion - tekom 2013
Workshop Agile Prozesse in der Redaktion - tekom 2013leanovate GmbH
 
Intro businessmodelcanvas Leanovate
Intro businessmodelcanvas LeanovateIntro businessmodelcanvas Leanovate
Intro businessmodelcanvas Leanovateleanovate GmbH
 

Mehr von leanovate GmbH (8)

20160426 value of diversity in teams
20160426 value of diversity in teams20160426 value of diversity in teams
20160426 value of diversity in teams
 
SIBB Forum HR - Rollen und Teams in agilen Organisationen
SIBB Forum HR - Rollen und Teams in agilen OrganisationenSIBB Forum HR - Rollen und Teams in agilen Organisationen
SIBB Forum HR - Rollen und Teams in agilen Organisationen
 
Berlin Scrum Meetup Intro / Reality check: Scrum Master role
Berlin Scrum Meetup Intro / Reality check: Scrum Master roleBerlin Scrum Meetup Intro / Reality check: Scrum Master role
Berlin Scrum Meetup Intro / Reality check: Scrum Master role
 
ProductCamp Berlin 2015 - Talk "If you trust me, say 'Hello'!" by Katrin Sauer
ProductCamp Berlin 2015 - Talk "If you trust me, say 'Hello'!" by Katrin SauerProductCamp Berlin 2015 - Talk "If you trust me, say 'Hello'!" by Katrin Sauer
ProductCamp Berlin 2015 - Talk "If you trust me, say 'Hello'!" by Katrin Sauer
 
Play - ein effizientes Webframework mit Spaßfaktor
Play - ein effizientes Webframework mit SpaßfaktorPlay - ein effizientes Webframework mit Spaßfaktor
Play - ein effizientes Webframework mit Spaßfaktor
 
Workshop Agile Prozesse in der Redaktion - tekom 2013
Workshop Agile Prozesse in der Redaktion - tekom 2013Workshop Agile Prozesse in der Redaktion - tekom 2013
Workshop Agile Prozesse in der Redaktion - tekom 2013
 
Intro businessmodelcanvas Leanovate
Intro businessmodelcanvas LeanovateIntro businessmodelcanvas Leanovate
Intro businessmodelcanvas Leanovate
 
Intro canvas ii
Intro canvas iiIntro canvas ii
Intro canvas ii
 

Tech Talk: Wozu Clean Code?