Welcome to WindowsClient.net | My Blog | Sign in | Join

Community Blogs

Sponsors





  • advertise here

Browse by Tags

All Tags » General Software Development (RSS)
The year ahead, 2011.
When I look back at last years look at 2010 my blogging rate has not changed much (I suspect this is largely down to using Twitter a lot ) but my interests this year have developed a lot further. My view on 2010 would be that Microsoft would commit more...
ORP : Open Closed Principle
The O in the SOLID principles, Uncle Bob explains this simply A class and it's component parts should be Open for extension and Closed for modification. To follow this principle let's take the clock object again. We know from SRP what parts are...
SRP: Single Responsibility Principle
The S in the SOLID principles is one of the most simple and most important principles. Let's take a simple example, one of a clock. A clock might have lot's of parts, parts that keep time, that tell you what the hour and minute of the day are...
Technical Debt
Technical Debt is subject that is very close to my heart, I first heard of the concept at a great session that Gary Short gave and ever since I have found ways of finding and addressing the problem. So what is Technical Debt? Technical Debt is a like...
Working with Legacy code #7 : The boy scout rule.
Uncle Bob outlines this concept well in in the 97 rules book. Leave the code a little cleaner than you found it In other words where you can improve and make better the code you are working in. In legacy code you should follow this concept with a blazing...
Working with Legacy code #5: The blackhole.
Someone creates a class or series of classes for something, the classes are big in size with large complicated methods. The effort is a sea of technical debt for the entire team but in the thick of the daily chaos it is lost. With out the coder talking...
Working with Legacy code #4 : Remove the hard dependencies
During your refactoring cycle you should be seeking out the hard dependencies that the code may have, examples of these can include. File System Database Network (HTTP) Application Server (Crystal) Classes that service these kind (or code that can be...
Gallio and VS2010 code coverage
Scott mentioned on twitter a great post on using VS2010 code coverage with ASP.NET unit tests with the following comment. So I figured I would work up a quick post on using Gallio with the code coverage features (and thus MbUnit, NUnit etc). Using Gallio...
Working with Legacy code #3 : Build a safety net.
The first port of call in changing legacy code is a safety net, without one your fingers will get burnt. Make your safety net a high level functional test over the major areas of the application. Automate the test, plug it into your CI builds and run...
Working with Legacy code #2 : Understand it.
In my last post I suggested drawing up a plan, the plan might be based on what you and the team already know of the code and your experiences so far in coding, fixing and refactoring attempts on the code base. Your plan might need further detail when...
Working with Legacy code #1 : Draw up a plan.
Blackfield applications are a minefield, reaking of smells and awash with technical debt. The codebase is a living hell. Your first plan of attack is a plan. Your boss (be that you, your manager, your client or whoever) needs to understand what you are...
Working with Legacy code
I'm going to start a series on working with legacy code based on some of things I have learnt over the years. First I define my terms for 'legacy', I define legacy as (as someone on twitter called it) not brownfield but blackfield. Brownfield...
The dislikes of TDD
I enjoy debates about TDD and Brian Harrys blog post is no exception . Brian sounds out what he likes and dislikes about TDD and it's the dislikes I'll focus on. The idea of having unit tests that cover virtually every line of code that I’ve written...
TDD and your emerging design
I was at DevWeek last week, it was a great week and I got a chance to speak with some of my geek heroes (Jeff Richter is a walking, talking CLR). One of the folks I most enjoyed listening to was ThoughtWorker Neal Ford who gave a session on emergeant...
MSpec Boo DSL
While looking around for something to match EasyB a BDD framework built in Java\Groovy I came across this Boo based DSL for MSpec . Dynamic languages (the meta programming abilities in particular) make for a far easier english reading test than static...
Next page »