Legacy Coderetreat Bologna @ CodersTUG

681 views

Published on

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

No Downloads
Views
Total views
681
On SlideShare
0
From Embeds
0
Number of Embeds
18
Actions
Shares
0
Downloads
3
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Legacy Coderetreat Bologna @ CodersTUG

  1. 1. Coderetreat Legacy Matteo Baglini @matteobaglini #lcrb14
  2. 2. Dave Thomas, Pragmatic Programmers Become a Better Developer Ultimately, greatness comes from practicing; applying the theory over and over again, using feedback to get better every time. In software we do our practicing on the job, and that’s why we make mistakes on the job. We need to find ways of splitting the practice from the profession. We need practice sessions.
  3. 3. The secret is life-long period of deliberate effort to improve performance in a specific domain. The secret is what researcher calls Deliberate Practice. Deliberate Practice Contrary to what you might believe, merely doing your job every day doesn’t qualify as real practice.
  4. 4. Corey Haines
  5. 5. J. B. Rainsberger
  6. 6. 10:00 - 11:00 Session #1 11:00 - 12:00 Session #2 12:00 - 13:00 Session #3 13:00 - 14:00 Lunch 14:00 - 15:00 Session #4 15:00 - 16:00 Session #5 16:00 - 17:00 Session #6 17:00 - 18:00 Retrospective Structure of the Day } }
  7. 7. Structure of a Session 45’ Coding 10’ Retrospective 5’ Break
  8. 8. Experiment
  9. 9. Pair Programming
  10. 10. Change Pair
  11. 11. Test-Driven Development
  12. 12. Delete Your Code
  13. 13. Put Your Code Under Test
  14. 14. Find Bad Code Smell
  15. 15. • Duplicated Code • Long Method • Large Class • Long Parameter List • Divergent Change • Shotgun Surgery • Feature Envy • Data Clumps • Lazy Class Find Bad Code Smell • Primitive Obsession • Switch Statements • Temporary Field • Message Chains • Middle Man • Inappropriate Intimacy • Data Class • Comments
  16. 16. Simple Design • Passes all the tests • Contains no duplication • Express developer intent • Contains as little code as possible
  17. 17. Simple Design
  18. 18. Simple Design
  19. 19. Refactor

×