Each week, refactor my smelly project and win a free book
along with a CodeIt.Once Refactoring tool 3-User license pack!
Here's how it'll work...
-
Each week, beginning tomorrow, Nov. 13, a VS 2005 project will be provided which contains one or more specified "smells." The project may be a Windows App, a Console App, an ASP.NET Web App or even a simple Class Library; but it will always be in C# 2.0. Refactorings may range from simply introducing new methods to applying design patterns. The project will have one or more unit tests, verified with NUnit 2.0, to verify that the project is in working order.
-
You have until the specified time to submit your zipped, refactored solution. Instructions for submitting your solution will be presented when the contest begins. To be considered, the solution must be compilable with all unit tests passing.
-
The winner will be randomly selected from all "correct" submissions received. (I'll use my 2-year old to pick the name instead of Math.Random to make sure it's truly random!) As there are 1,000 ways to skin a cat - no offense to any PETA readers - "correct" entries will be subjectively determined by yours truly, Billy McCafferty. Along with an announcement of the week's winner, a results summary and refactoring analysis will be presented. "Correct" can generally be defined as the solution which presents simple, concise, and maintainable refactorings for the specified smells. Other "correctness" guidelines may be provided at the beginning of each challenge.
-
To help your chances, the first "correct" solution received will have two names thrown into the hat instead of one.
-
Only one entry may be submitted for each challenge and, unless specified at the opening of a contest, each participant may only win once.
-
The weekly contest will continue until I get refactoring-itus or I run out of books, whichever comes sooner.
Why refactoring...
Refactoring has been widely adopted as a vital technique for producing high quality software. It is important that we each embrace this practice into our development work. This contest will serve to present an overview of common smells found within code and discuss techniques to correct those smells for creating better software.
Resources to help...
The essentials are Refactoring by Martin Fowler and Refactoring to Patterns by Joshua Kerievsky. Other resources that may be helpful include Working Effectively with Legacy Code by Michael Feathers and Patterns of Enterprise Application Architecture by Martin Fowler.
Books up for grabs...
Billy
Posted
11-13-2006 9:55 PM
by
Billy McCafferty