Code At:
https://github.com/isidore/RefactoringClass
https://github.com/LearnWithLlew/DuplicationColoringBook
https://github.com/LearnWithLlew/DuplicationKata.java
https://github.com/LearnWithLlew/DuplicationKata.cpp.vs2017
https://github.com/LearnWithLlew/DuplicationKata.Net
https://github.com/LearnWithLlew/TestingFunctionalCodeKata.Java
Today will practice refactoring with small steps without understanding the code first.
- Lines (Rate yourself
- Height
- Name
- Distance
- Programmer
- Unit testing
- Refactoring
- What’s code like at work
- Iphone - Android
- Strong Style Pair Programming Phone exercise
- Pair up android with iphone owners
- They navigate each other through using some feature or game or something
We are going to use TestCommitRevert (TCR) + Arlo's commit notation.
- Sparrow Decks Intro -> Sparrows
- Clutter Deck
- Retro on pattern of Clutter
- Showed retro videos - Monkey business, Fa Fa Fa
- Did post it note observation retro
[Everyone feels they will seem stupid if they say stuff, this helps them see everyone will say things that are wrong] - Delete Clutter (2 minute rotations, or on event)
- Ending - Show patterns slides & retro
- Names
- Bad Names Deck
- Slides about Arlo’s Path for Naming
- Never skip a step (during training)
- Improve Names & magic numbers (missing names)
- Paragraphs
- Sparrow Decks [Do these decks one after the other]
- Long Lines Deck
- Long Methods Deck
- Paragraphs Deck
- Extracting Paragraphs
- EPIC (Edentify Prepare Improve Cleanup)
- Retro
Notes:
Print out & Use Kata Cups.
Do Coloring indivually but programming Paired.
Have Pairs check each others coloring.
- Duplication Deck
- Coloring Exercises
- Exercise 1 - Simple
- Video recap - Youtube with Llewellyn - https://* www.youtube.com/watch?v=zAqv7jyd6nw&t=8s
- Exercise 2 - Parameters
- Video Recap https://www.youtube.com/watch?v=Fw-knDwOZTU&* t=10s
- Exercise 3 - Lambdas & Higher Order Functions
- Video Recap (Doesn't exist yet, live demo)
Today we will finish up chartsmart and look at look at testing.
- Finish Duplication and Extract Objects
- Lift Conditional
[If code is functional it is very easy to test]
- Combination Testing (Start in a mob, get to 4 * combinations, then split up)
- 100% Code coverage
- Lift Conditional
- Seperate into classes
- Retro
- Clean Up.
Following sessions: Mutation Testing The Russian Connection Peel and Slice
Notes: Working in “our” manner allows us to work without understanding the code.
Llewellyn mentioned this about a sessions at AONW “I hate that, but I want to do it so I can hate it with data”
Also: Read By Refactoring