torsdag 24. mars 2011

Is your software built in a higgledy-piggledy fashion?

This is your application:

It works fine and is quite reliable. The GUI is simple, but effective.













This is how the application looks behind the GUI:



Is there a system at all?























The question is: Do you care about how it is wired behind the GUI and all the way to the power-plant? If your answer is no, stop reading and hope that you do not have to pay for an electrician ever.

How can you make sure your software is maintainable? If you search for "maintainable code" you get a lot of blogposts about this issue. Jeremy D. Miller has a post among the search results, which is quite good. Uncle Bob is not among the results, but should definetely be a good source, at lea
st for a description of the SOLID-priniciples. Neither Michael Feathers was in the search results, but he should be noticed for his book about legacy code and refactoring techniques.

But if you know these skills, is your application maintainable? It certainly helps caring about those skills and principles, but as Roy Osherove preaches, it should be testable as well. In addition to that I would say that your application also should follow some patterns, i.e. as described in Martin Fowler's "Patterns of Enterprise Application Architecture" - or as described in any other patterns' books.

In addition I would like to add a principle myself: Your application must be deliverable, as in it should be easy to installed, deployed or updated.

So that should conclude my little note about maintainability. Which is just another part of Robert Glass' definition of software quality.

Ingen kommentarer:

Legg inn en kommentar