Social games and their clean code_Clean Code Days_Dresden 2013
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Social games and their clean code_Clean Code Days_Dresden 2013

on

  • 993 views

 

Statistics

Views

Total Views
993
Views on SlideShare
991
Embed Views
2

Actions

Likes
2
Downloads
16
Comments
0

1 Embed 2

https://twitter.com 2

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Social games and their clean code_Clean Code Days_Dresden 2013 Presentation Transcript

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