Boost logo

Boost-Build :

From: David Abrahams (david.abrahams_at_[hidden])
Date: 2002-04-30 09:00:49


----- Original Message -----
From: "Vladimir Prus" <ghost_at_[hidden]>

> > * class virtual-target is not derived from class target. Was that
> > intentional?
>
> Yes, it was. However the comments at the top of the file are wrong.
And the
> 'target' class should be name 'abstract-target'. I believe there's not
enough
> similarity between abstract and virtual targets to make then derive
from a
> common base.

Okay. I wonder if we can get it to be class targets.abstract and class
targets.virtual?

BTW, I think "virtual" is a terrible name. Now that I have reminded
myself what it is, I have no serious problem with it, but I think it
will confuse people. Other names which might be more descriptive:

"imaginary (as opposed to real) target" :^(
"provisional target"
"exploratory target"
"search node"

I'm just trying to capture the idea that the things are generated in an
attempt to build the actual dependency graph, but that they're not
really targets, and only some will correspond to real targets.

> > * virtual-target.action seems a bit tricky to me. Perhaps it would
be
> > better to go with a simple get-action/set-action pair?
>
> Not sure. I tend to you the same scheme for accessors/mutators in C++
and I
> don't think it's all that alien to jam.

As the zen of Python says, "explicit is better than implicit". Not a big
deal; we can decide later.

However, let's resist the temptation to provide mutators/accessors for
anything before we need them. Usually a design with lots of mutators and
accessors fails to encapsulate or represent any abstraction very well.

-Dave

 


Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk