Browse by Tags
All Tags »
General Software Development (RSS)
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...
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...
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 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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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...
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 »