Images in this post missing? We recently lost them in a site migration. We're working to restore these as you read this. Should you need an image in an emergency, please contact us at imagehelp@codebetter.com
Refactor It! The Weekly Book Giveaway
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...
 
Stay tuned to devlicio.us and good luck!
 
Billy

Posted 11-13-2006 9:55 PM by Billy McCafferty
Filed under: , , ,

[Advertisement]

Comments

Christopher Bennage wrote re: Refactor It! The Weekly Book Giveaway
on 11-14-2006 9:08 AM

Exciting!  Are fellow devlicious blogger excluded from the contest?  :-)

Rob Eisenberg wrote re: Refactor It! The Weekly Book Giveaway
on 11-14-2006 9:44 AM

Awesome idea.  I love refactoring!  Looking forward to learning a lot from this.

Billy McCafferty wrote re: Refactor It! The Weekly Book Giveaway
on 11-14-2006 9:53 AM

devlicio.us bloggers can feel free to join into the fray

Derik Whittaker wrote re: Refactor It! The Weekly Book Giveaway
on 11-14-2006 10:25 AM

Billy,

Bring it on.....

wshaddix wrote re: Refactor It! The Weekly Book Giveaway
on 11-14-2006 11:07 AM

How do we join the contest and/or get the projects?

Billy McCafferty wrote re: Refactor It! The Weekly Book Giveaway
on 11-14-2006 11:35 AM

I'll be making a post later today with the first project available for anyone and everyone to download.

Rory Becker wrote re: Refactor It! The Weekly Book Giveaway
on 11-14-2006 4:19 PM

I'm with Dwhittaker on this....

Bring it On!

sergeb wrote re: Refactor It! The Weekly Book Giveaway
on 11-15-2006 4:26 AM

Hey, Billy, great idea!

I would be happy to chip in our CodeIt.Once refactoring tool 3 user license packs for each week winner if you are interested.

Let me know :)

Billy McCafferty wrote re: Refactor It! The Weekly Book Giveaway
on 11-15-2006 9:06 AM

Well, I certainly can't turn that down!  Thank you very much for the offer.  If you would, please send me an email at refactorit AT emccafferty.com so that I can send you the winner's information.  Thanks again!

sergeb wrote re: Refactor It! The Weekly Book Giveaway
on 11-15-2006 10:52 AM

Perfect! I will follow up offline.

Toby wrote re: Refactor It! The Weekly Book Giveaway
on 11-15-2006 2:45 PM

this is great!

Suggest you put the 'Challenge' - the refactorings you're looking for - in a solution item html file for easy reference when working on it.

Billy McCafferty wrote re: Refactor It! The Weekly Book Giveaway
on 11-15-2006 2:57 PM

Thanks for the suggestion Toby...I'll certainly do that for the next challenge.

Harry wrote re: Refactor It! The Weekly Book Giveaway
on 11-16-2006 10:02 AM

Excellent. I finished the challenge yesterday. Just reading the code and try to match the style is a great learning experience for me. I really like this idea. Kudos to you for the great effort.

Vinay wrote re: Refactor It! The Weekly Book Giveaway
on 11-16-2006 3:14 PM

Billy can you also post this on csharp design patterns forum.

Vinay wrote re: Refactor It! The Weekly Book Giveaway
on 11-16-2006 3:32 PM

Never mind my comment. I found it. This is a very good initiative.

About The CodeBetter.Com Blog Network
CodeBetter.Com FAQ

Our Mission

Advertisers should contact Brendan

Subscribe
Google Reader or Homepage

del.icio.us CodeBetter.com Latest Items
Add to My Yahoo!
Subscribe with Bloglines
Subscribe in NewsGator Online
Subscribe with myFeedster
Add to My AOL
Furl CodeBetter.com Latest Items
Subscribe in Rojo

Member Projects
DimeCasts.Net - Derik Whittaker

Friends of Devlicio.us
Red-Gate Tools For SQL and .NET

NDepend

SlickEdit
 
SmartInspect .NET Logging
NGEDIT: ViEmu and Codekana
LiteAccounting.Com
DevExpress
Fixx
NHibernate Profiler
Unfuddle
Balsamiq Mockups
Scrumy
JetBrains - ReSharper
Umbraco
NServiceBus
RavenDb
Web Sequence Diagrams
Ducksboard<-- NEW Friend!

 



Site Copyright © 2007 CodeBetter.Com
Content Copyright Individual Bloggers

 

Community Server (Commercial Edition)