On Tuesday, 13 March 2018 at 12:10:07 UTC, rikki cattermole wrote:
On 14/03/2018 1:02 AM, psychoticRabbit wrote:
On Tuesday, 13 March 2018 at 11:31:12 UTC, rikki cattermole wrote:

Ah yes.
You're completely correct if you subscribe to Adam's and ketmar's file sizes expectation.

A D module and package is one level of abstraction. If that level of abstraction starts to fill up and gets large, you split it up.

My rule is soft 1k LOC and hard 2-3k (after that it needs a VERY good reason to stay together).

This makes each file to be very right down to the point and do nothing else.

You should be doing this no matter the language IMO. Just the difference is in Java only one class is publicly accessible per file. Nothing stops you from doing that here either.

Fair enough.

I doubt I'll use your 'lines of code' method as a means of encapsulation though ;-)

The number of lines of code is more of a code smell which suggests that the module is going out of scope in size and functionality.

I have to think more, about what a module is really trying to encapsulate.

I'm sure there is a good blog that could come out of this conversation.
(not by me though)

While it is new to some people, we would only be rehashing existing ideas that have existed in the literature for 40+ years.

Mmm...I think more than just 'some people' will be suprised when they come to D, and suddenly find that a private member may not be private at all.

Particulary those C++/C#/Java programmers - who represent the vast majority of programmers on the planet.

private string _Name;

(oh..in D, this might be private..or it might not be..depends on what you mean by private)


Reply via email to