Date post: | 05-Dec-2014 |
Category: |
Technology |
Upload: | rafael-sperling |
View: | 276 times |
Download: | 2 times |
A Better Way To Learn Refactoring
@rafael_sperling
@rafael_sperling
● Long Method● Large Class● Primitive Obsession● Long Parameter List● DataClumps● Switch Statements● Temporary Field● Refused Bequest● ...
Bad Code Smell Examples
@rafael_sperling
● Single-Line Statements● Block Statements● Methods● Classes
Different Levels of Refactoring
@rafael_sperling
● Extract method for only one responsability● Eliminate duplication through
decomposition● Allow for decomposition without
drawbacks of duplication
The Ultimate Goal for Refactoring
@rafael_sperling
● For every number from 0 to 100,○ If it is divisible by 3, print "Fizz",○ If it is divisible by 5, print "Buzz",○ If it is divisible by 3 and 5, print "FizzBuzz"
FizzBuzz & The Art of Refactoring
@rafael_sperling
@rafael_sperling
Eliminate Duplicate Write Lines Calls
@rafael_sperling
Eliminate Duplicate Write Lines Calls
@rafael_sperling
Extracted isFuzzi and isBuzzi Variables
@rafael_sperling
Invert IF Statements
@rafael_sperling
Extract Display Actual Number Method
@rafael_sperling
Extracted Run Method
@rafael_sperling
Moved FizzBuzz Region Into Separate Class
Referenceshttps://vimeo.com/43659053
@rafael_sperling