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