Roy Osherove

View Original

January 2006 at Agile Israel - Mock Objects & Refactoring

 
When: January 5th, 2006

Gathering at 17:30, we start promptly at 18:00

Part I : Mock Objects - Asher Sterkin

Mock Objects are a powerful mechanism for unit testing of classes, which depend on various environment elements: database, communication, clock, calendar, etc. Sometimes Mocks are confused with Stubs, Fakes, Simulators. Mocks are slightly more complex, though more flexible, than Stubs or Fakes and are much simpler than Simulators. In fact Mocks are so simple that sometimes developers miss the whole point and find themselves to be completely puzzled about effective usage of Mocks for unit testing and Test-Driven Development. And this is a shame: when properly used especially in combination with Design Patterns Mocks can be an extremely powerful mechanism of Test-Driven Development supporting very aggressive parallel implementation of multiple tasks related to the same story.

In this presentation I will provide a systematic introduction of Mocks and will demonstrate how Mocks could be turned into an integral part of the Agile software development process.

Part II: Refactoring 101 - Justin Angel

Do you write Agile code or do you write Fragile code? Does your code embrace changes or does it crush and burn? Do you find yourself debugging over-commented, over-duplicated, over-complicated and over-bloated code?
This talk will be about Agile coding techniques that will assist us in writing code that can last the duration. We will see examples on common coding problems such as Code duplication, redundant commenting, hard-coded code smells and bloated code. And we'll work togather on finding solutions for these problems.
Agenda:

18:00 - 19:15 - Mock Objects Techniques - Asher Sterkin

19:15 - 19:30 - Break

19:30 - 20:45 - Refactoring Techniques - Justin Angel
  Speaker Details 

About Asher Sterkin
Asher has about 25 years of professional software development. His areas of specialization include Object-Oriented Analysis and Design, Design Patterns, UML, Agile Development Practices,  Configuration Management, Generic and Generative Programming, and Statecharts.
Asher firmly believes in "hamayan hamitgaber" approach to education, especially when it's applied to the professional knowledge: the more you share with others the more you learn. For that reason Asher spent three years on teaching Advanced C++ and Design Patterns course in Hadassah Technology College, Jerusalem. In his current position of Principal Engineer at NDS technologies Israel Asher spends a substantial portion of his time on coaching and consulting activities helping others to work less time, smarter and yet to earn and enjoy more from their work.
 
About Justin Angel
Justin-Josef Angel is a senior web developer. He's been working for the last four years as a web developer, the better half of which in the .Net framework. He's been helping inexperienced .Net developers for a year now at the Tapuz .Net forum and he has helped over 500 developers successfully. He also has the only .Net blog in Hebrew at www.JustinAngel.Net