I just read Jo’s comments about doing the simplest possible thing that could work here and they got me thinking.
I have spent a great deal of time teaching software design, designing for reuse and about the benefits of good architecture (be it layered or hexagonal). So I guess I’m one of those that occasionally does a little more than the minimum.
However, at what point in the project does a clean layered architecture become the simplest that could work? And, having reached this point how long is it likely to take to refactor into a cohesive architecture?
There is definitely a point at which developers start trying to predict the future and add features on the off chance that they become useful one day and this must be discouraged. Like many guidelines lets be pragmatic in the application of “do the simplest thing”.
April 12th, 2006 in
technical | tags:
design |
No Comments
This session was run by Michael Feathers (author of the book by the same name). To begin with Michael explained the term legacy; this refers to existing code without thorough test coverage. With this in mind discussion was aimed at C++, JAVA & C# applications that require extension. The goal is to achieve some of the benefits and confidence delivered by Test Driven Development (TDD) when developing on a none "green fields" project. If an application exists and added functionality is requested, should we be adding tests? Michael reasoned that the client did not want just the new functionality but the old too. To achieve this, tests should be added to ensure that the new software has no unwanted side effects.
Read the rest of this entry »
March 30th, 2006 in
technical | tags:
design |
1 Comment
I spend much of my time teaching OO. While it seems that modern programming languages are all about object orientation, how many developers are really embracing OO design?
In his article on getter eradication Martin Fowler says:
The OO community may have ‘won’ in the sense that modern languages are dominated by objects, but they are still yet to win in that OO programming is still not widely used.
This really struck a chord with me and also related to a post of Kevin Rutherfords on getting back to basics. Read the rest of this entry »
March 25th, 2006 in
technical | tags:
design |
3 Comments