Social games and their clean code_Clean Code Days_Dresden 2013

1,375 views
1,283 views

Published on

Published in: Technology, Sports
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,375
On SlideShare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
21
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Social games and their clean code_Clean Code Days_Dresden 2013

  1. 1. Social Games and their 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 = special interests
  5. 5. 159.79 Mio.
  6. 6. Social Games = Games for everybody
  7. 7. Berlin
  8. 8. 2009 — 20 employees
  9. 9. Today — 250 employees
  10. 10. 20 Game-Teams
  11. 11. Independent development teams
  12. 12. Mutable, small teams
  13. 13. Consistency
  14. 14. Way of working
  15. 15. No fixed roles
  16. 16. High responsibility
  17. 17. Configurability
  18. 18. Maintainability
  19. 19. Weekly releases
  20. 20. Tracking & Reporting
  21. 21. Agile way of working
  22. 22. Agility
  23. 23. Consistency Maintainability Agility improves allows
  24. 24. Bubble Island
  25. 25. 2009 Start of development
  26. 26. 2011 Not more maintainable! http://www.flickr.com/photos/mecklenburg
  27. 27. But still successful!
  28. 28. Refactoring!
  29. 29. 1 Consistency
  30. 30. Consistency
  31. 31. Consistency
  32. 32. Consistency
  33. 33. Naming Consistency
  34. 34. Naming •Speaking names Consistency
  35. 35. Naming •Speaking names •No Abbreviations Consistency
  36. 36. Naming •Speaking names •No Abbreviations •1 word per concept Consistency
  37. 37. Consistency
  38. 38. Consistency
  39. 39. Consistency
  40. 40. Consistency
  41. 41. Consistency
  42. 42. Consistency
  43. 43. Consistency
  44. 44. Consistency
  45. 45. Formatting Consistency
  46. 46. Formatting •Indentation Consistency
  47. 47. Formatting •Indentation •Wrapping braces Consistency
  48. 48. Formatting •Indentation •Wrapping braces •Variables first Consistency
  49. 49. Formatting •Indentation •Wrapping braces •Variables first •Public in front of non-public methods Consistency
  50. 50. Consistency
  51. 51. Consistency
  52. 52. Comments Consistency
  53. 53. Comments •Avoid them if possible Consistency
  54. 54. Comments •Avoid them if possible •Usage scenarios Consistency
  55. 55. Comments •Avoid them if possible •Usage scenarios ‣ Warnings Consistency
  56. 56. Comments •Avoid them if possible •Usage scenarios ‣ Warnings ‣ Simplified explanations Consistency
  57. 57. Consistency Consistency
  58. 58. Consistency •Naming Consistency
  59. 59. Consistency •Naming •Formatting Consistency
  60. 60. Consistency •Naming •Formatting •Comments Consistency
  61. 61. 2 Maintainability
  62. 62. Maintainability
  63. 63. Maintainability
  64. 64. Maintainability
  65. 65. Maintainability
  66. 66. Maintainability
  67. 67. Methods Maintainability
  68. 68. Methods •As small as possible Maintainability
  69. 69. Methods •As small as possible •1 level of abstraction Maintainability
  70. 70. Methods •As small as possible •1 level of abstraction •1 functionality Maintainability
  71. 71. Maintainability
  72. 72. Maintainability
  73. 73. Maintainability
  74. 74. Maintainability
  75. 75. Classes Maintainability
  76. 76. Classes •1 reason to change (SRP) Maintainability
  77. 77. Classes •1 reason to change (SRP) •Only a few instance variables Maintainability
  78. 78. Classes •1 reason to change (SRP) •Only a few instance variables •High kohesion Maintainability
  79. 79. Maintainability
  80. 80. Maintainability
  81. 81. Maintainability
  82. 82. Maintainability
  83. 83. Maintainability
  84. 84. Maintainability
  85. 85. Data structures Maintainability
  86. 86. •Avoid train wrecks Data structures Maintainability
  87. 87. •Avoid train wrecks •Use data transfer objects Data structures Maintainability
  88. 88. •Avoid train wrecks •Use data transfer objects •Separate production and use of systems Data structures Maintainability
  89. 89. Maintainability Maintainability
  90. 90. •Methods Maintainability Maintainability
  91. 91. •Methods •Classes Maintainability Maintainability
  92. 92. •Methods •Classes •Data structures Maintainability Maintainability
  93. 93. 3 Agility
  94. 94. Islands of knowledge Agility http://flickr.com/photos/92928628@N04
  95. 95. Pair Programming Agility
  96. 96. •Avoid islands of knowledge Pair Programming Agility
  97. 97. •Avoid islands of knowledge •Integration of new team members Pair Programming Agility
  98. 98. •Avoid islands of knowledge •Integration of new team members •Collective responsibility Pair Programming Agility
  99. 99. Difficult to read & unstructured Agility
  100. 100. Regular refactorings Agility
  101. 101. •Continuous improvements Regular refactorings Agility
  102. 102. •Continuous improvements •The Boy Scout Rule (Robert C. Martin) Regular refactorings Agility
  103. 103. No safeguarding Agility http://flickr.com/photos/99995147@N00
  104. 104. Unit tests Agility
  105. 105. •Safety net Unit tests Agility
  106. 106. •Safety net •Facilitated training Unit tests Agility
  107. 107. •Safety net •Facilitated training •Playground Unit tests Agility
  108. 108. Features late testable Agility http://www.flickr.com/photos/adesigna
  109. 109. Continuous integration Agility
  110. 110. •Early available software artifacts Continuous integration Agility
  111. 111. •Early available software artifacts •Verifiable expectations Continuous integration Agility
  112. 112. •Early available software artifacts •Verifiable expectations •Foreseeable problems Continuous integration Agility
  113. 113. Agility Agility
  114. 114. •Pair Programming Agility Agility
  115. 115. •Pair Programming •Regular refactorings Agility Agility
  116. 116. •Pair Programming •Regular refactorings •Unit tests Agility Agility
  117. 117. •Pair Programming •Regular refactorings •Unit tests •Continuous integration Agility Agility
  118. 118. 4 Tools
  119. 119. https://www.pivotaltracker.com Tools
  120. 120. Tools http://nvie.com/img/2009/12/Screen-shot-2009-12-24-at-11.32.03.png Git-Flow
  121. 121. Tools http://jenkins.org
  122. 122. Tools CPD & PMD
  123. 123. Benefit for Wooga
  124. 124. Flexible team building http://www.flickr.com/photos/scoobay
  125. 125. High productivity over long period of time http://www.flickr.com/photos/stephenbegin
  126. 126. changing requirements http://www.flickr.com/photos/jimculp Rapid response to
  127. 127. Clean Code as a common language
  128. 128. Less wtf/minute
  129. 129. Questions? jobs.wooga.com @StephanPartzsch

×