Hi VEE users,
I am still thinking about VEE metrics. Even before starting to discuss about
metrics, maybe should be interesting to clarify when an VEE application is a
"good design" and when it is a "big application" (in the sense of size).
Maybe answers to some questions could help me/us to understand the scope of the
1. When is considered a VEE application as big/medium/small size?
a) Does it depend on the number of UserObjects+UserFunctions of all the
associated programs/libraries of the application?
b) Does it depend on the number of the programs/libraries itself?
c) Does it depend on the total number of VEE lines, or the VEE files size in
One approach could be point a. For example: more than 400 UO+UF could be
considered as big application. between 100 and 400 UO+UF could be medium
application and less than 100 small. Of course, there are two ways to reach
these data. For example, an application with 10 programs+libraries with 40 UO+UF
each one, that is 400 UO+UF as total, or 40 programs+libraries with 10 UO+UF
each one, that is the same 400. This is related to complexity and modularity.
In any case, all these items could be measured. It suggests me that number of
program/libraries versus number of UO+UF could be a good ratio.
Of course, it could be not enough, because it should depend also on the size of
the UOs or UFs. But this guide us to the next point.
2. When a VEE application has been well designed.
a) Does it depends on the number of UO+UF per library.
b) Does it depend on the number of objects per UO or UFs
c) Does it depend on how deep is the UO tree on the VEE explorer.
d) Does it depends on the cross calling between UO and UF, within or without
from the same library.
e) Does it depends on the number of explicit number of in/out variables of UO
and UF, or the number if implicit in/our variables (global variables).
As can be seen, point a) it related to the application size and it is also
related to its design. I think one VEE library with more than 100 UO+UF could be
considered as NOT a good design, even in the case of each UO or UF of it only
has a few objects (8, for example).
But what could be considered as a good design: 20 UO+UF per library/program? and
what about 40?
It is important because it is easy to measure and could be quantified.
Of course, the number of objects into a library should indicate us how good
design is a VEE file. What is a good design, 10 objects per UO or UF? or 20 or
Of course, the goodness of design depends also of the type of objects. For
example it is not the same a "sequencer" than a "integer constant". It is not
the same a "formula" than an "OK". That let us to think about performing a
measurement weighted depending on the type of the objects involved. This is not
so easy to measure.
In any case, this is other ratio that could be measured: number of objects per
UO or UF.
How deep is my design could also define me the goodness of it. For example, 9
steps of UO into other UO should suggest us a bad design. But What is a good
design, 5 as maximum? In any case could be also measured easily.
Point c) and d) are also important but I am not able to suggest any hypothesis.
And the same with external functions associated to the application (ActiveX,
This is close related to the term "complexity". And for my point of view, this
is more difficult to measure.