|
Boost Users : |
From: Arkadiy Vertleyb (vertleyb_at_[hidden])
Date: 2006-09-12 09:49:02
"Scott Meyers" <usenet_at_[hidden]> wrote
> EvengLog log;
> log.WriteEntry("Hello World"); // throws: no log stream was set
I think the biggest argument for the compile-time error detection has always
been something like:
EvengLog log;
if (some runtime condition)
log.WriteEntry("Hello World");
Then, this "some runtime condition" may never be tested, and the code will
throw in production.
It seems to me that the worlds of OO and C++ split some time ago, and moving
more and more appart. The new OO books now use Java and C# for their
examples. OTOH, most of what's going on in C++ world now is related to
language-specific features. I got the impression that people from
objectmentor are ready to substitute compile-time error detection with
testing. Of course they are familiar with the argument above, so for them
it's probably not a big deal.
I think neither of approaches is clearly superior, both have benefits and
drawbacks, and it depends on each particular user and task which one would
work better. But in general, I would vote for complete construction with
default arguments and/or overloaded constructors for simplicity.
Regards,
Arkadiy
Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net