On Mon, 16 Oct 2017 09:30:01 +0200, Benedikt Ritter wrote:
Am 16.10.2017 um 00:34 schrieb Gilles <gil...@harfang.homelinux.org>:

On Sun, 15 Oct 2017 14:45:09 -0500, Matt Sicker wrote:
Assertion classes are just containers for static methods. Using "import static" is the only way in Java to import the individual methods as if the class itself were a package. Also, doing this is pretty common when using the Assert class as all its methods are prefixed with "assert" anyways.

It's not because something is widespread that it should be emulated.
Is there any good reason to use "import static"?  [Saving the typing
of 7 characters cannot be one of them.]

It can (and does) happen that "assert..." methods are defined
on a per project basis, and nothing is gained when the reader
has to check the top of the file to be sure of what class is
actually used.

My point was just that rather than cleaning up, the commit was
obfuscating (even if so little) the source code.
I prefer the other way around. :-)

I think there are pros and cons for both styles. I prefer static
imports. I don’t see any value in knowing, that assertEquals comes
from a class called Assert.

When you see "assertEquals", you cannot assume that it was
imported from the (Junit) "Assert" class.
In CM for example, another "assertEquals" is defined in an
internal "TestUtils" class.

With "static" import:
 1. you won't readily know which class is used,
 2. you can't use both classes (in the same way) within a
    source file (and "first-class citizens" will vary from
    project to project, and from file to file),
 3. you can't easily make bulk changes (search and replace
    e.g. following a library/API change).

I don't know which pros you are referring to, but having a
developer wondering, just once, about point (1) already
nullifies the supposed advantage I know of (less typing).
[It happened to me much more than once; thus, I remove
static imports whenever encountered...]

Gilles

Cheers,
Benedikt


YMMV,
Gilles


On 15 October 2017 at 13:44, Gilles <gil...@harfang.homelinux.org> wrote:

On Sun, 15 Oct 2017 12:22:13 +0200, Pascal Schumacher wrote:

Just for consistency.


Consistency is fine. ;-)

All almost all tests already used static
imports, so I adjusted the few that did not.


It's the use of "import static" which I was questioning.

Gilles



-Pascal

Am 15.10.2017 um 11:44 schrieb Gilles:

On Sun, 15 Oct 2017 09:34:04 +0000 (UTC), pascalschumac...@apache.org
wrote:

Repository: commons-text
Updated Branches:
 refs/heads/master 51645b4f0 -> 8f7d0494d


always use static imports for assertion methods


Why?

Gilles


[...]






---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@commons.apache.org
For additional commands, e-mail: dev-h...@commons.apache.org

Reply via email to