how to make private class member private
bauss
jj_1337 at live.dk
Mon Mar 19 08:00:31 UTC 2018
On Monday, 19 March 2018 at 01:11:43 UTC, psychoticRabbit wrote:
> The fact that the creator of a class, is also the creator of
> the module that contains that class, is not a valid reason for
> not seeking to improve encapsulation of that class.
I agree with this. This especially matters with projects where
multiple people might work on the same module. You might not want
to expose every member to all the people who work on the module.
Whereas you might want other members to be exposed to the module
and not outside, so the argument for putting the class into a new
module doesn't work either, since the members you do want to
expose cannot be exposed, unless they're public, in which case it
defeats the whole purpose of encapsulation.
Yes, it's great that private is module-level by default, but it
just doesn't work in practice with modules worked on by multiple
people.
Tons of bugs can be avoided too, like a few times unittests have
passed in phobos with traits because private members were visible
in the module. (I can't remember a specific example on top of my
head, but it has happened a few times.)
More information about the Digitalmars-d-learn
mailing list