Clone Detective for Visual Studio

Clone Detective is a Visual Studio integration that allows you to analyze C# projects for source code that is duplicated somewhere else. Having duplicates can easily lead to inconsistencies and often is an indicator for poorly factored code.

Check it out…


It’s based on ConQAT…

ConQAT (Continuous Quality Assessment Toolkit) is a toolkit for the efficient creation of control centers for the continuous controlling of software quality. Its composition mechanism enables the integration of various quality assessment tools in a flexible manner. ConQAT is not limited to the analysis of source code but can be extended to work on other kinds of development artefacts. It provides tailorable aggregation mechanisms that support the condensation of quality data to generate concise quality reports. These aggregations and ConQAT’s visualization mechanisms are built to enable developers and project managers to track key quality aspects of software projects in an efficient and timely manner.

Check it out…


Seeing that Flex projects get bigger and bigger, teams get bigger and bigger and hence the codebase gets bigger as well, we need tools like this in the ActionScript coding toolsuite… When I get 5 minutes of sparetime, I will look into what it would take to make minor implementation of the duplicate code checker for ActionScript… it should be not too difficult (remembering the beauty of simplicity which I definitely learned the hard way during my first compiler implementation when I was back at University)


Guice (pronounced 'Juice')

Guice (pronounced ‘juice’) is a lightweight dependency injection framework for Java 5 and above, brought to you by Google, however the principles are sound and could be used for other frameworks too.

Writing factories and dependency injection logic by hand for every service and client can become tedious. Some other dependency injection frameworks even require you to explicitly map services to the places where you want them injected.

Check it out… exciting stuff


Jesse Liberty's rules for examples…

Reading about Silverlight 2, I stumpled upon Jesse Liverty’s rules for examples, they are simple and almost universal…

Judge for yourself…

1. Keep it simple enough that the example totally focuses on what you are trying to illustrate (but no simpler)

2. Try to use something like business objects rather than cute animals or game objects

3. Don’t show off how clever you are, break the code down into small digestible parts.

4. Use interim variables; they’re easier to catch in a debugger

5. Strip away all exception and error handling and bullet proofing unless you are teaching exception handling, error handling or bullet proofing.

6. Use great variable names so you need fewer comments, but don’t convince yourself that means you don’t need any.

7. Show the output

8. Make no apologies (except when you’re wrong)

Thanks, Jesse… for letting us laymen get access to some of the experience you have gained from writing those 10+ technical books about programming 🙂