Misc Inspector Buglets

It the inspector complains about every main method, fretting that
there are no references to it. That is normal. Technically it is
correct, but its complaints swamp the real problems.

It complained the following strings contains "redundant" characters in
all three of these strings.

/**
    

  • regex to go inside [] to match all punctuation chars, not

counting space
    

  • <p/>

    

  • !"#$%&'()*+,-./:;<=>?[\]^_`{|}~     regeq quoted

     */
    private static final String ALL_PUNCT =
"!\"#
$%&'
(
)
*
+,
-
./:;<=>
?

^_`
{
|
}~";

    /**
    

  • regex to go inside [] for all punct chars but >

     */
    private static final String ALL_PUNCT_BUT_GT = ALL_PUNCT +
"&&[^>]";

    /**
    

  • regex to go inside for all chars but " and '

     */
    private static final String ALL_PUNCT_BUT_QUOTES = ALL_PUNCT +
"&&[^'\"]";

When I rad the inspector a second time, the errors went away.

I think what happened is there was indeed a redundant
in the first
String, which was propagated at compile time to the other two.  This
was confusing.  I stared at the literals in the second two and I could
see no problem.  Perhaps the error message could make it clear it was
complaining about the generated string as a whole rather than the
literals on that line.

The way I looked at in there were ordinary Strings, not regex
Patterns.  It cleverly deduced that I was eventually going to use them
to compose a regex.  It might have been clearer if in its error
message it hinted it was interpreting the string as a regex pattern.

Normally redundant quoting is immediately obvious because it is
highlighted. This time there was nothing to highlight.


--
Roedy Green Canadian Mind Products
http://mindprod.com
Capitalism has spurred the competition that makes CPUs faster and
faster each year, but the focus on money makes software manufacturers
do some peculiar things like deliberately leaving bugs and deficiencies
in the software so they can soak the customers for upgrades later.
Whether software is easy to use, or never loses data, when the company
has a near monopoly, is almost irrelevant to profits, and therefore
ignored. The manufacturer focuses on cheap gimicks like dancing paper
clips to dazzle naive first-time buyers. The needs of existing
experienced users are almost irrelevant. I see software rental as the
best remedy.

1 comment


Another inspector buglet. It complains that every enum constructor is
unused, even though it is used explicity to define every enum
constant.
--
Roedy Green Canadian Mind Products
http://mindprod.com
Capitalism has spurred the competition that makes CPUs faster and
faster each year, but the focus on money makes software manufacturers
do some peculiar things like deliberately leaving bugs and deficiencies
in the software so they can soak the customers for upgrades later.
Whether software is easy to use, or never loses data, when the company
has a near monopoly, is almost irrelevant to profits, and therefore
ignored. The manufacturer focuses on cheap gimicks like dancing paper
clips to dazzle naive first-time buyers. The needs of existing
experienced users are almost irrelevant. I see software rental as the
best remedy.

0

Please sign in to leave a comment.