[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [equinox-dev] Coding standards: using import abc.* - or not?


Hi Pascal,
While this sounds like one of those "better coding practices" advices, it is an actual problem.

For instance, the import.* statements have to be changed in runtime's JUnits (org.eclipse.core.tests.runtime) before Assert API can be added to the org.eclipse.core.runtime.

Sincerely,
Oleg Besedin


Pascal Rapicault/Ottawa/IBM@IBMCA:

> Clearly the only solution is to fully qualify ALL the classes in the
> import statement.
> I think this is a reasonable thing to do in a component that has a lot of
> dependencies, however I believe the equinox space is small enough that we
> can keep things the way they are (note that I have never seen this problem
> since I started working in this team).
>
> -1


Oleg Besedin/Ottawa/IBM@IBMCA:

Hi Everybody,
The Equinox coding standard says that imports should be coalesced ("import
abc.*") if 3 or more classes are imported from the same package (
http://www.eclipse.org/equinox/documents/coding.php).
However, this brings a rather real problem that we just had a chance to
observe.

In this case a plugin was using:
      import abc.*;
      import myPackage.Assert;
Which was fine - until the Assert class was added into the other plugin's
package abc.

Clearly, "import abc.*" introduces ambiguity. On the other hand, Eclipse's
"Organize Imports" command lets developers easily manage individual
imports. And, last but not least, in my opinion, seeing all individual
imports helps understand where imported classes actually come from and
adds to that nice warm feeling of being in control.

With all this in mind, should we change the Equinox coding standard to
don't coalesce the imports?

Sincerely,
Oleg Besedin