• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Social games and their clean code_Clean Code Days_Dresden 2013
 

Social games and their clean code_Clean Code Days_Dresden 2013

on

  • 821 views

 

Statistics

Views

Total Views
821
Views on SlideShare
821
Embed Views
0

Actions

Likes
2
Downloads
15
Comments
0

0 Embeds 0

No embeds

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 Social games and their clean code_Clean Code Days_Dresden 2013 Presentation Transcript

    • Social Games and their 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-of-duty-modern-warfare-3-review
    • Video Games = special interests
    • 159.79 Mio.
    • Social Games = Games for everybody
    • Berlin
    • 2009 — 20 employees
    • Today — 250 employees
    • 20 Game-Teams
    • Independent development teams
    • Mutable, small teams
    • Consistency
    • Way of working
    • No fixed roles
    • High responsibility
    • Configurability
    • Maintainability
    • Weekly releases
    • Tracking & Reporting
    • Agile way of working
    • Agility
    • Consistency Maintainability Agility improves allows
    • Bubble Island
    • 2009 Start of development
    • 2011 Not more maintainable! http://www.flickr.com/photos/mecklenburg
    • But still successful!
    • Refactoring!
    • 1 Consistency
    • Consistency
    • Consistency
    • Consistency
    • Naming Consistency
    • Naming •Speaking names Consistency
    • Naming •Speaking names •No Abbreviations Consistency
    • Naming •Speaking names •No Abbreviations •1 word per concept Consistency
    • Consistency
    • Consistency
    • Consistency
    • Consistency
    • Consistency
    • Consistency
    • Consistency
    • Consistency
    • Formatting Consistency
    • Formatting •Indentation Consistency
    • Formatting •Indentation •Wrapping braces Consistency
    • Formatting •Indentation •Wrapping braces •Variables first Consistency
    • Formatting •Indentation •Wrapping braces •Variables first •Public in front of non-public methods Consistency
    • Consistency
    • Consistency
    • Comments Consistency
    • Comments •Avoid them if possible Consistency
    • Comments •Avoid them if possible •Usage scenarios Consistency
    • Comments •Avoid them if possible •Usage scenarios ‣ Warnings Consistency
    • Comments •Avoid them if possible •Usage scenarios ‣ Warnings ‣ Simplified explanations Consistency
    • Consistency Consistency
    • Consistency •Naming Consistency
    • Consistency •Naming •Formatting Consistency
    • Consistency •Naming •Formatting •Comments Consistency
    • 2 Maintainability
    • Maintainability
    • Maintainability
    • Maintainability
    • Maintainability
    • Maintainability
    • Methods Maintainability
    • Methods •As small as possible Maintainability
    • Methods •As small as possible •1 level of abstraction Maintainability
    • Methods •As small as possible •1 level of abstraction •1 functionality Maintainability
    • Maintainability
    • Maintainability
    • Maintainability
    • Maintainability
    • Classes Maintainability
    • Classes •1 reason to change (SRP) Maintainability
    • Classes •1 reason to change (SRP) •Only a few instance variables Maintainability
    • Classes •1 reason to change (SRP) •Only a few instance variables •High kohesion Maintainability
    • Maintainability
    • Maintainability
    • Maintainability
    • Maintainability
    • Maintainability
    • Maintainability
    • Data structures Maintainability
    • •Avoid train wrecks Data structures Maintainability
    • •Avoid train wrecks •Use data transfer objects Data structures Maintainability
    • •Avoid train wrecks •Use data transfer objects •Separate production and use of systems Data structures Maintainability
    • Maintainability Maintainability
    • •Methods Maintainability Maintainability
    • •Methods •Classes Maintainability Maintainability
    • •Methods •Classes •Data structures Maintainability Maintainability
    • 3 Agility
    • Islands of knowledge Agility http://flickr.com/photos/92928628@N04
    • Pair Programming Agility
    • •Avoid islands of knowledge Pair Programming Agility
    • •Avoid islands of knowledge •Integration of new team members Pair Programming Agility
    • •Avoid islands of knowledge •Integration of new team members •Collective responsibility Pair Programming Agility
    • Difficult to read & unstructured Agility
    • Regular refactorings Agility
    • •Continuous improvements Regular refactorings Agility
    • •Continuous improvements •The Boy Scout Rule (Robert C. Martin) Regular refactorings Agility
    • No safeguarding Agility http://flickr.com/photos/99995147@N00
    • Unit tests Agility
    • •Safety net Unit tests Agility
    • •Safety net •Facilitated training Unit tests Agility
    • •Safety net •Facilitated training •Playground Unit tests Agility
    • Features late testable Agility http://www.flickr.com/photos/adesigna
    • Continuous integration Agility
    • •Early available software artifacts Continuous integration Agility
    • •Early available software artifacts •Verifiable expectations Continuous integration Agility
    • •Early available software artifacts •Verifiable expectations •Foreseeable problems Continuous integration Agility
    • Agility Agility
    • •Pair Programming Agility Agility
    • •Pair Programming •Regular refactorings Agility Agility
    • •Pair Programming •Regular refactorings •Unit tests Agility Agility
    • •Pair Programming •Regular refactorings •Unit tests •Continuous integration Agility Agility
    • 4 Tools
    • https://www.pivotaltracker.com Tools
    • Tools http://nvie.com/img/2009/12/Screen-shot-2009-12-24-at-11.32.03.png Git-Flow
    • Tools http://jenkins.org
    • Tools CPD & PMD
    • Benefit for Wooga
    • Flexible team building http://www.flickr.com/photos/scoobay
    • High productivity over long period of time http://www.flickr.com/photos/stephenbegin
    • changing requirements http://www.flickr.com/photos/jimculp Rapid response to
    • Clean Code as a common language
    • Less wtf/minute
    • Questions? jobs.wooga.com @StephanPartzsch