Greetings,

Although I have been using Groovy for years, I have largely been ignoring
scoping as it relates to classes, methods, and fields.  It is my opinion
that having private and package-level scoping is critical.
Controlling scope is critical to managing a large project.

The way I've been ignoring the issue is:

1. I just assume it's the same as Java and treat it that way.

2. Since my large project (~9,000 classes) is broken down into small
packages, I also control visibility by not cross-accessing packages.

(I understand the field property bit.)

My problem is because of two factors:

1. The documentation that comes with Groovy is not explicit about this.

2. My IDE (IntelliJ) grays out "public" trying to tell me it isn't needed.

So, I'd like to get a clear explanation of scope control for classes,
methods, and fields.

Thanks!

Blake McBride

Reply via email to