Social Games
und ihr Clean Code
http://www.vgchartz.com/gamedb/?name=fifa+soccer+13 || http://cartelthemes.com/fifa-13-193-hd-wallpapers.html
12.79 Mio.
30.11 Mio.
http://www.vgchartz.com/gamedb/?name=Call+of+Duty%3A+Modern+Warfare+3 || http://www.alextv.de/2011/11/10/call-o...
Video Games = spezielle Interessen
159.79 Mio.
Social Games = Spiele für Jeden
Berlin
2009 — 20 Angestellte
Heute — 250 Mitarbeiter
20 Game-Teams
Unabhängige
Entwicklungsteams
Veränderliche,
kleine Teams
Einheitlichkeit
Arbeitsweise
Keine festen Rollen
Hohe Verantwortung
Konfigurierbarkeit
Wartbarkeit
Wöchentliche Releases
Tracking & Reporting
Agile Arbeitsweise
Agilität
Einheitlichkeit
Wartbarkeit
Agilität
Verbessert
Ermöglicht
Bubble Island
2009
Entwicklungsstart
2011
Nicht mehr wartbar!
http://www.flickr.com/photos/mecklenburg
Aber immer noch
erfolgreich!
Refactoring!
1
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
Namensgebung
Einheitlichkeit
Namensgebung
•Sprechende Namen
Einheitlichkeit
Namensgebung
•Sprechende Namen
•Keine Abkürzungen
Einheitlichkeit
Namensgebung
•Sprechende Namen
•Keine Abkürzungen
•1 Begriff pro Konzept
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
Formatierung
Einheitlichkeit
Formatierung
•Einrückungen
Einheitlichkeit
Formatierung
•Einrückungen
•Klammernumbrüche
Einheitlichkeit
Formatierung
•Einrückungen
•Klammernumbrüche
•Variablen immer zuerst
Einheitlichkeit
Formatierung
•Einrückungen
•Klammernumbrüche
•Variablen immer zuerst
•Öffentliche Methoden zuerst
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
Kommentare
Einheitlichkeit
Kommentare
•Vermeiden wenn möglich
Einheitlichkeit
Kommentare
•Vermeiden wenn möglich
•Nutzungsszenarien
Einheitlichkeit
Kommentare
•Vermeiden wenn möglich
•Nutzungsszenarien
‣ Warnungen
Einheitlichkeit
Kommentare
•Vermeiden wenn möglich
•Nutzungsszenarien
‣ Warnungen
‣ Vereinfachte Erklärungen
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
Einheitlichkeit
•Namensgebung
Einheitlichkeit
Einheitlichkeit
•Namensgebung
•Formatierung
Einheitlichkeit
Einheitlichkeit
•Namensgebung
•Formatierung
•Kommentare
Einheitlichkeit
2
Wartbarkeit
Wartbarkeit
Wartbarkeit
Wartbarkeit
Wartbarkeit
Wartbarkeit
Methoden
Wartbarkeit
Methoden
•Möglichst klein
Wartbarkeit
Methoden
•Möglichst klein
•1 Abstraktionslevel
Wartbarkeit
Methoden
•Möglichst klein
•1 Abstraktionslevel
•1 Funktionalität
Wartbarkeit
Wartbarkeit
Wartbarkeit
Wartbarkeit
Wartbarkeit
Klassen
Wartbarkeit
Klassen
•1 Grund für Veränderung (SRP)
Wartbarkeit
Klassen
•1 Grund für Veränderung (SRP)
•Wenige Instanzvariablen
Wartbarkeit
Klassen
•1 Grund für Veränderung (SRP)
•Wenige Instanzvariablen
•Hohe Kohäsion
Wartbarkeit
Wartbarkeit
Wartbarkeit
Wartbarkeit
Wartbarkeit
Wartbarkeit
Wartbarkeit
Datenstrukturen
Wartbarkeit
•Train Wrecks vermeiden
Datenstrukturen
Wartbarkeit
•Train Wrecks vermeiden
•Data Transfer Objects nutzen
Datenstrukturen
Wartbarkeit
•Train Wrecks vermeiden
•Data Transfer Objects nutzen
•Erzeugung und Nutzung von
Systemen trennen
Datenstrukturen
Wartbark...
Wartbarkeit
Wartbarkeit
•Methoden
Wartbarkeit
Wartbarkeit
•Methoden
•Klassen
Wartbarkeit
Wartbarkeit
•Methoden
•Klassen
•Datenstrukturen
Wartbarkeit
Wartbarkeit
3
Agilität
Wissensinseln
Agilität
http://flickr.com/photos/92928628@N04
Pair Programming
Agilität
•Vermeiden von Wissensinseln
Pair Programming
Agilität
•Vermeiden von Wissensinseln
•Integration neuer Teammitglieder
Pair Programming
Agilität
•Vermeiden von Wissensinseln
•Integration neuer Teammitglieder
•Kollektive Verantwortung
Pair Programming
Agilität
Schwer lesbar
& Unstrukturiert
Agilität
Regelmäßiges
Refactoring
Agilität
•Stetige Verbesserungen
Regelmäßiges
Refactoring
Agilität
•Stetige Verbesserungen
•The Boy Scout Rule (Robert C. Martin)
Regelmäßiges
Refactoring
Agilität
Keine Absicherung
Agilität
http://flickr.com/photos/99995147@N00
Unit-Tests
Agilität
•Sicherheitsnetz
Unit-Tests
Agilität
•Sicherheitsnetz
•Erleichterte Einarbeitung
Unit-Tests
Agilität
•Sicherheitsnetz
•Erleichterte Einarbeitung
•Versuchsfeld
Unit-Tests
Agilität
Features spät testbar
Agilität
http://www.flickr.com/photos/adesigna
Kontinuierliche Integration
Agilität
•Softwareartefakte früh nutzbar
Kontinuierliche Integration
Agilität
•Softwareartefakte früh nutzbar
•Erwartungen überprüfbar
Kontinuierliche Integration
Agilität
•Softwareartefakte früh nutzbar
•Erwartungen überprüfbar
•Probleme schnell absehbar
Kontinuierliche Integration
Agilität
Agilität
Agilität
•Pair Programming
Agilität
Agilität
•Pair Programming
•Regelmäßiges Refactoring
Agilität
Agilität
•Pair Programming
•Regelmäßiges Refactoring
•Unit-Tests
Agilität
Agilität
•Pair Programming
•Regelmäßiges Refactoring
•Unit-Tests
•Kontinuierliche Integration
Agilität
Agilität
4
Werkzeuge
https://www.pivotaltracker.com
Werkzeuge
http://nvie.com/img/2009/12/Screen-shot-2009-12-24-at-11.32.03.png
Git-Flow
Werkzeuge
http://jenkins.org
Werkzeuge
CPD & PMD
Werkzeuge
Mehrwert für Wooga
Flexibles Teambuilding
http://www.flickr.com/photos/scoobay
Hohe Produktivität
über langen Zeitraum
http://www.flickr.com/photos/stephenbegin
veränderte Anforderungen
http://www.flickr.com/photos/jimculp
Schnelle Reaktion auf
Clean Code als
gemeinsame Sprache
Weniger wtf/minute
Fragen?
jobs.wooga.com
@StephanPartzsch
Nächste SlideShare
Wird geladen in …5
×

Social Games und ihr Clean Code

532 Aufrufe

Veröffentlicht am

Wie Clean Code für Social Games in einem großen Unternehmen verwendet wird.

Veröffentlicht in: Technologie
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
532
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
4
Aktionen
Geteilt
0
Downloads
1
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie

Social Games und ihr Clean Code

  1. 1. Social Games und ihr Clean Code
  2. 2. http://www.vgchartz.com/gamedb/?name=fifa+soccer+13 || http://cartelthemes.com/fifa-13-193-hd-wallpapers.html 12.79 Mio.
  3. 3. 30.11 Mio. http://www.vgchartz.com/gamedb/?name=Call+of+Duty%3A+Modern+Warfare+3 || http://www.alextv.de/2011/11/10/call-of-duty-modern-warfare-3-review
  4. 4. Video Games = spezielle Interessen
  5. 5. 159.79 Mio.
  6. 6. Social Games = Spiele für Jeden
  7. 7. Berlin
  8. 8. 2009 — 20 Angestellte
  9. 9. Heute — 250 Mitarbeiter
  10. 10. 20 Game-Teams
  11. 11. Unabhängige Entwicklungsteams
  12. 12. Veränderliche, kleine Teams
  13. 13. Einheitlichkeit
  14. 14. Arbeitsweise
  15. 15. Keine festen Rollen
  16. 16. Hohe Verantwortung
  17. 17. Konfigurierbarkeit
  18. 18. Wartbarkeit
  19. 19. Wöchentliche Releases
  20. 20. Tracking & Reporting
  21. 21. Agile Arbeitsweise
  22. 22. Agilität
  23. 23. Einheitlichkeit Wartbarkeit Agilität Verbessert Ermöglicht
  24. 24. Bubble Island
  25. 25. 2009 Entwicklungsstart
  26. 26. 2011 Nicht mehr wartbar! http://www.flickr.com/photos/mecklenburg
  27. 27. Aber immer noch erfolgreich!
  28. 28. Refactoring!
  29. 29. 1 Einheitlichkeit
  30. 30. Einheitlichkeit
  31. 31. Einheitlichkeit
  32. 32. Einheitlichkeit
  33. 33. Namensgebung Einheitlichkeit
  34. 34. Namensgebung •Sprechende Namen Einheitlichkeit
  35. 35. Namensgebung •Sprechende Namen •Keine Abkürzungen Einheitlichkeit
  36. 36. Namensgebung •Sprechende Namen •Keine Abkürzungen •1 Begriff pro Konzept Einheitlichkeit
  37. 37. Einheitlichkeit
  38. 38. Einheitlichkeit
  39. 39. Einheitlichkeit
  40. 40. Einheitlichkeit
  41. 41. Einheitlichkeit
  42. 42. Einheitlichkeit
  43. 43. Einheitlichkeit
  44. 44. Einheitlichkeit
  45. 45. Formatierung Einheitlichkeit
  46. 46. Formatierung •Einrückungen Einheitlichkeit
  47. 47. Formatierung •Einrückungen •Klammernumbrüche Einheitlichkeit
  48. 48. Formatierung •Einrückungen •Klammernumbrüche •Variablen immer zuerst Einheitlichkeit
  49. 49. Formatierung •Einrückungen •Klammernumbrüche •Variablen immer zuerst •Öffentliche Methoden zuerst Einheitlichkeit
  50. 50. Einheitlichkeit
  51. 51. Einheitlichkeit
  52. 52. Kommentare Einheitlichkeit
  53. 53. Kommentare •Vermeiden wenn möglich Einheitlichkeit
  54. 54. Kommentare •Vermeiden wenn möglich •Nutzungsszenarien Einheitlichkeit
  55. 55. Kommentare •Vermeiden wenn möglich •Nutzungsszenarien ‣ Warnungen Einheitlichkeit
  56. 56. Kommentare •Vermeiden wenn möglich •Nutzungsszenarien ‣ Warnungen ‣ Vereinfachte Erklärungen Einheitlichkeit
  57. 57. Einheitlichkeit Einheitlichkeit
  58. 58. Einheitlichkeit •Namensgebung Einheitlichkeit
  59. 59. Einheitlichkeit •Namensgebung •Formatierung Einheitlichkeit
  60. 60. Einheitlichkeit •Namensgebung •Formatierung •Kommentare Einheitlichkeit
  61. 61. 2 Wartbarkeit
  62. 62. Wartbarkeit
  63. 63. Wartbarkeit
  64. 64. Wartbarkeit
  65. 65. Wartbarkeit
  66. 66. Wartbarkeit
  67. 67. Methoden Wartbarkeit
  68. 68. Methoden •Möglichst klein Wartbarkeit
  69. 69. Methoden •Möglichst klein •1 Abstraktionslevel Wartbarkeit
  70. 70. Methoden •Möglichst klein •1 Abstraktionslevel •1 Funktionalität Wartbarkeit
  71. 71. Wartbarkeit
  72. 72. Wartbarkeit
  73. 73. Wartbarkeit
  74. 74. Wartbarkeit
  75. 75. Klassen Wartbarkeit
  76. 76. Klassen •1 Grund für Veränderung (SRP) Wartbarkeit
  77. 77. Klassen •1 Grund für Veränderung (SRP) •Wenige Instanzvariablen Wartbarkeit
  78. 78. Klassen •1 Grund für Veränderung (SRP) •Wenige Instanzvariablen •Hohe Kohäsion Wartbarkeit
  79. 79. Wartbarkeit
  80. 80. Wartbarkeit
  81. 81. Wartbarkeit
  82. 82. Wartbarkeit
  83. 83. Wartbarkeit
  84. 84. Wartbarkeit
  85. 85. Datenstrukturen Wartbarkeit
  86. 86. •Train Wrecks vermeiden Datenstrukturen Wartbarkeit
  87. 87. •Train Wrecks vermeiden •Data Transfer Objects nutzen Datenstrukturen Wartbarkeit
  88. 88. •Train Wrecks vermeiden •Data Transfer Objects nutzen •Erzeugung und Nutzung von Systemen trennen Datenstrukturen Wartbarkeit
  89. 89. Wartbarkeit Wartbarkeit
  90. 90. •Methoden Wartbarkeit Wartbarkeit
  91. 91. •Methoden •Klassen Wartbarkeit Wartbarkeit
  92. 92. •Methoden •Klassen •Datenstrukturen Wartbarkeit Wartbarkeit
  93. 93. 3 Agilität
  94. 94. Wissensinseln Agilität http://flickr.com/photos/92928628@N04
  95. 95. Pair Programming Agilität
  96. 96. •Vermeiden von Wissensinseln Pair Programming Agilität
  97. 97. •Vermeiden von Wissensinseln •Integration neuer Teammitglieder Pair Programming Agilität
  98. 98. •Vermeiden von Wissensinseln •Integration neuer Teammitglieder •Kollektive Verantwortung Pair Programming Agilität
  99. 99. Schwer lesbar & Unstrukturiert Agilität
  100. 100. Regelmäßiges Refactoring Agilität
  101. 101. •Stetige Verbesserungen Regelmäßiges Refactoring Agilität
  102. 102. •Stetige Verbesserungen •The Boy Scout Rule (Robert C. Martin) Regelmäßiges Refactoring Agilität
  103. 103. Keine Absicherung Agilität http://flickr.com/photos/99995147@N00
  104. 104. Unit-Tests Agilität
  105. 105. •Sicherheitsnetz Unit-Tests Agilität
  106. 106. •Sicherheitsnetz •Erleichterte Einarbeitung Unit-Tests Agilität
  107. 107. •Sicherheitsnetz •Erleichterte Einarbeitung •Versuchsfeld Unit-Tests Agilität
  108. 108. Features spät testbar Agilität http://www.flickr.com/photos/adesigna
  109. 109. Kontinuierliche Integration Agilität
  110. 110. •Softwareartefakte früh nutzbar Kontinuierliche Integration Agilität
  111. 111. •Softwareartefakte früh nutzbar •Erwartungen überprüfbar Kontinuierliche Integration Agilität
  112. 112. •Softwareartefakte früh nutzbar •Erwartungen überprüfbar •Probleme schnell absehbar Kontinuierliche Integration Agilität
  113. 113. Agilität Agilität
  114. 114. •Pair Programming Agilität Agilität
  115. 115. •Pair Programming •Regelmäßiges Refactoring Agilität Agilität
  116. 116. •Pair Programming •Regelmäßiges Refactoring •Unit-Tests Agilität Agilität
  117. 117. •Pair Programming •Regelmäßiges Refactoring •Unit-Tests •Kontinuierliche Integration Agilität Agilität
  118. 118. 4 Werkzeuge
  119. 119. https://www.pivotaltracker.com Werkzeuge
  120. 120. http://nvie.com/img/2009/12/Screen-shot-2009-12-24-at-11.32.03.png Git-Flow Werkzeuge
  121. 121. http://jenkins.org Werkzeuge
  122. 122. CPD & PMD Werkzeuge
  123. 123. Mehrwert für Wooga
  124. 124. Flexibles Teambuilding http://www.flickr.com/photos/scoobay
  125. 125. Hohe Produktivität über langen Zeitraum http://www.flickr.com/photos/stephenbegin
  126. 126. veränderte Anforderungen http://www.flickr.com/photos/jimculp Schnelle Reaktion auf
  127. 127. Clean Code als gemeinsame Sprache
  128. 128. Weniger wtf/minute
  129. 129. Fragen? jobs.wooga.com @StephanPartzsch

×