Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Better code, littler classes

356 views

Published on

  • Be the first to comment

  • Be the first to like this

Better code, littler classes

  1. 1. Better Code, Littler Classes• While you wait, install the sample code from the USB drive: Code/flatwiki-example/ choose java, csharp, or ruby; we’ll be demonstrating in Java• Import into your environment of choice: We’ve included configuration for Maven, Ant, IntelliJ, Eclipse, Visual Studio, and Rake• Run your tests -- they should all pass! Java: “ant build”, “mvn test”, or IDE test runner Ruby: “rake test” C#: Run tests in Visual Studio• If you don’t have a development environment, install VirtualBox and open BetterCodeVM.ova
  2. 2. Better Code,Littler Classes
  3. 3. Who are we? Moss Collummcollum@cyrusinnovation.com @moss Laura Deanlgdean@cyrusinnovation.com @lgdean
  4. 4. Format
  5. 5. Raise your hands
  6. 6. Why this workshop?
  7. 7. Environment Setup
  8. 8. Setup Instructions• Sample code is on the USB drive Code/flatwiki-example/java, csharp, and ruby directories• Import into your environment of choice We’ve included configuration for Maven, Ant, IntelliJ, Eclipse, Visual Studio, and Rake• Run your tests -- they should all pass! Java: “ant build”, “mvn test”, IDE test runner Ruby: “rake test” C#: Run tests in Visual Studio• If you don’t have a development environment, install VirtualBox and open BetterCodeVM.ova
  9. 9. Extract Delegate
  10. 10. Extract Method Object
  11. 11. Replace ValueWith Value Object
  12. 12. IntroduceParameter Object
  13. 13. Retrospective
  14. 14. Further Practice• Code Katas• Object Calisthenics• Architectural Design Challenge• Re-use our sample project!• More at BetterCodeLittlerClasses.com
  15. 15. References• Refactoring, by Martin Fowler• Arguments and Results, by James Noble• Working Effectively with Legacy Code, by Michael Feathers• Growing Object Oriented Software, by Steve Freeman and Nat Pryce• More at BetterCodeLittlerClasses.com
  16. 16. Feedback?
  17. 17. Where to find us Moss Collum mcollum@cyrusinnovation.com @moss Laura Dean lgdean@cyrusinnovation.com @lgdean

×