On 4/5/07, Greg Reddin <[EMAIL PROTECTED]> wrote:
On 4/5/07, Martin Cooper <[EMAIL PROTECTED]> wrote: > > 2. The "public" redundant modifier is declared illegal in that > > checkstyle file, but I think that it is not so bad. > > > Here I disagree. IMHO, using 'public' in interfaces demonstrates a lack of > clarity. It constitutes "noise" in the interface definition that hinders > rapid comprehension. When someone reads through a set of interfaces and > sees > 'public' scattered around, they're likely to stop and wonder if the author > had some purpose to specifying 'public' that they should try to > understand, > when in reality the author was simply not thinking clearly enough to > translate their thoughts into accurate interface definitions. We should > always strive for maximum communication bandwidth, and not clutter the > code > with things that readers will trip over and have to stop and wonder about. Interesting. I've always preferred to be explicit and express things that are true by default.
Do you use "if (foo == true)", then? ;-) If not, why not? For example, I use "this." a lot (though probably not
consistently enough to communicate anything). I can see your point but the lack of the public modifier would "hinder rapid comprehension" for me, just because I'm used to seeing it there. (To be real honest I didn't realize it was defaulted until I read this - though it makes sense). So should we cater to those who don't know the language well enough or cater to those who prefer language purit? Personally, I still prefer the former because I like being explicit, but I won't die on that hill. I'm willing to be convinced otherwise :-)
Frankly, if someone wants to pander to people who don't know the language and don't want to, they should be writing in Pascal, not Java. ;-) -- Martin Cooper Greg
