ignite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Raul Kripalani <ra...@apache.org>
Subject Re: Usage of star imports
Date Wed, 19 Aug 2015 21:37:08 GMT
(Found out that org.jsr166 is an internal package in this case).

*Raúl Kripalani*
Apache Camel PMC Member & Committer | Enterprise Architect, Open Source
Integration specialist
http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
http://blog.raulkr.net | twitter: @raulvk

On Wed, Aug 19, 2015 at 10:23 PM, Raul Kripalani <raulk@apache.org> wrote:

> Hello Igniters,
>
> First of all, congrats to all the committers, former PPMC now PMC members
> and mentors for the project's graduation! Great work, everybody!
>
> I have a question about the Coding Guidelines. Why do they enforce star
> imports?
>
> It is considered a bad practice for several reasons:
>
> 1. It pollutes the local namespace, leading to unnecessary name clashes.
>
> 2. Unexpected errors can occur if a class is added the package of a
> dependency we import. Of course, this would be detected at compile time and
> would make the build fail. But it's worrisome that we allow this to occur
> in the first place. Leads to unpredictable builds in case we have SNAPSHOT
> dependencies.
>
> 3. It makes it absolutely necessary to use a fully-fledged IDE to browse
> the source. People using simpler text editors like Sublime, vi or emacs
> will have a hard time unless they use plugins that can process pom.xml and
> add dependencies to classpaths (I haven't even installed these plugins –
> and I use Sublime 45% of my working time, as an example).
>
> 4. As an example of the latter, I'm currently working on adding OSGi
> support for ignite-core. I'm trying to figure out which classes require
> package org.jsr166; and for this I'm using Sublime, not IntelliJ, for
> lightweight browsing. Found several hits, but because I'm not familiar with
> the contents of the package by heart, I have absolutely no clue which
> classes of that package are being used our source files.
>
> If the reason/alleged benefit is simple convenience/brevity, I'm not quite
> sure it outweighs all the negatives.
>
> Thanks,
>
> *Raúl Kripalani*
> Apache Camel PMC Member & Committer | Enterprise Architect, Open Source
> Integration specialist
> http://about.me/raulkripalani | http://www.linkedin.com/in/raulkripalani
> http://blog.raulkr.net | twitter: @raulvk
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message