TEAM-ADA Archives

Team Ada: Ada Programming Language Advocacy


Options: Use Forum View

Use Monospaced Font
Show Text Part by Default
Show All Mail Headers

Message: [<< First] [< Prev] [Next >] [Last >>]
Topic: [<< First] [< Prev] [Next >] [Last >>]
Author: [<< First] [< Prev] [Next >] [Last >>]

Print Reply
Samuel Mize <[log in to unmask]>
Reply To:
Samuel Mize <[log in to unmask]>
Thu, 20 Nov 1997 10:38:35 -0600
text/plain (51 lines)
Keith Shillington wrote:
> How do you measure the amenability of a design to change?  What salient
> quantifiable characteristic of a design is this?
> At 12:23 AM 11/20/97 -0500, (No Name Available) wrote:
> >I view Maintainability as covering more than the sum of the other
> >qualities listed.  Consider how amenable the design is to changes
> >in requirements which might reasonably be expected for the problem
> >domain.
> >
> >Larry Kilgallen

Bear in mind that the original question was how to check off
"maintainable" in a review, not how to derive a metric.  There
is only ONE valid way to use a metric, and that's in conjunction
with a mind.  Raw numbers give little, or negative, value.

The list you provided (in equation form) of measurable
items is a good set of measurements.

I'd add to your list that the unit should be well modularized --
whether with procedures or inline code formatting, it should be clear
where one activity ends and another begins.

These measurements, and the unit itself, should be reviewed to answer
the following questions:

* Will this unit be easy to change to accomodate likely changes
  to its requirements or interfaces?

* Will it be feasible to change it for unexpected changes?

* Is it easy to determine what it does, and that it does it right,
  so a maintainer won't have to expend a lot of extra work?

* Can it be easily unit tested, to support regression test?

This gives you an idea of whether the unit is "maintainable."

There is no set of measurements that will automatically give you
this, it's a judgement call.

Sam Mize

Samuel Mize -- [log in to unmask] -- Team Ada
(personal net account)