Very hacky solution to class private members
bauss
jj_1337 at live.dk
Thu Jun 9 11:33:08 UTC 2022
On Thursday, 9 June 2022 at 11:04:31 UTC, Dom Disc wrote:
> On Thursday, 9 June 2022 at 10:40:01 UTC, bauss wrote:
>
>> Might as well just make everything public then, right?
> No. I have written reducing the search-space to one file *DOES*
> reduce the effort.
> But reducing it to a part of a file (which class level privacy
> would do) does not, because still all member-functions that
> shouldn't have access to the privates still have to be
> reviewed. You still have to search the whole file to find all
> usages of private variables, so you gain nothing.
>
>> Why stop there. Removing private, protected, package etc. is
>> the way to go then?
> Nonsense. Nobody wants that.
>
>> the point of it all is to cut down the amount of code you have
>> to review.
> Yup. And the reduction gained by class level in addition to
> module level (which is not available in C++) is neglictable.
>
>> There's no reason to do the analysis yourself if the compiler
>> can do it for you in 99% of the cases.
> But it can't. You have to check the member functions manually
> anyway.
> On module level you have to additionally check the handful of
> function that are also in the same file. But in C++ instead you
> have to check the additionally friends, which may be scattered
> all over the whole project.
>
> So in comparison with C++ module level privacy is just better
> (if you don't put everything in one file).
> Within D alone, we would gain nearly nothing by an additional
> level.
I don't know why you keep mentioning C++ and how D improves over
C++.
Nobody mentioned C++, I certainly didn't and I really don't care
if D improves over C++ or not or what their differences are.
I'm not a C++ programmer and I don't come from a C++ background.
More information about the Digitalmars-d
mailing list