• Save
The Way of The Software Craftsman # Part One: The Beginning
Upcoming SlideShare
Loading in...5
×
 

The Way of The Software Craftsman # Part One: The Beginning

on

  • 819 views

“Hold, Break, Leave”

“Hold, Break, Leave”

- First, follow all the practices.

- Then, realize and change them.

- Finally, you don't need to think about the rules anymore.

Statistics

Views

Total Views
819
Views on SlideShare
817
Embed Views
2

Actions

Likes
0
Downloads
2
Comments
0

1 Embed 2

https://www.linkedin.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

The Way of The Software Craftsman # Part One: The Beginning The Way of The Software Craftsman # Part One: The Beginning Presentation Transcript

  • The Way ofThe Software Craftsman# Part One: The Beginning 2009, Vitaliy Kulikov
  • Interrupt. Ask questions. Disagree.
  • WHY I CARE
  • Usual Process
  • Beautiful System
  • Add a feature
  • Add a new feature
  • Change a feature
  • Time Passes
  • Look familiar
  • Add a new featureHow?
  • Crap Code
  • Constant Cleaning
  • „Clean code that works“ Ron Jeffries
  • Emergent Design
  • Add a feature
  • Clean It Up
  • Add a new feature
  • Clean It Up
  • Change a feature
  • Time Passes
  • Clean Architecture
  • Over Time
  • How do you do this?
  • USUALLY ...
  • ExtremeProgramming (XP)
  • Development Techniques
  • Why don’t we do them?
  • We don’t know how
  • How do you learn to do it?
  • Emergent Design /Evolutionary Design
  • Over Time
  • Test-DrivenDevelopment (TDD)
  • How do we learn?
  • Work != Practice
  • How do we practice?
  • Shu Ha RiShu ( 守 : "protect", "obey" ) - traditional wisdomHa ( 破 : "detach", "digress" ) - breaking with traditionRi ( 離 : "leave", "separate" ) - transcendence
  • “Hold, Break, Leave”First, follow all thepractices.Then, realize andchange them.Finally, you dontneed to think aboutthe rules anymore.
  • Testing. Quality. Automation.
  • WHY I CARE (REDUX)
  • „Legacy code is code without tests“ Michael Feathers
  • The Steps oftest-first design (TFD)
  • TDD = Refactoring + TFD
  • Testing via the xUnit Framework
  • Tests are documentation„Every test is an executable example.“
  • Edit and Pray
  • ✗ Carefully plan✗ Make the change✗ Start the application and check the change✗ Poking around
  • Cover and Modify
  • ✔ Write test✔ Make the change✔ Run all tests
  • Tests = Proof
  • If its worth building, its worth testing.If its not worth testing, why are you wastingyour time working on it?
  • ● Another tool for your toolbox ● Use as you need it ● Can be difficult for beginners ● Frameworks can helpTRY IT
  • Tests guide the design„We see the code from the user‘s perspective“
  • Stop Writing Crap
  • THANK YOU ?
  • ✔ „Test Driven Development by Example“ -Kent Beck✔ „Working Effectively with Legacy Code“ -Michael Feathers✔ „Clean Code: A Handbook of Agile Software Craftsmanship“ -Robert C. MartinRESOURCES