On Tue, Jun 17, 2014 at 1:36 AM, Vincent Hennebert <vhenneb...@gmail.com>
wrote:

> On 16/06/14 23:32, Glenn Adams wrote:
>
>> By the same logic, checkstyle is a huge waste of time and effort.
>>
>
> I find this quite amusing to read given that I am the one who promoted
> the setting up of Checkstyle in CI, submitted several revisions of
> a Checkstyle configuration file that would reach the agreement of
> everybody, then spent hours making the code base compliant...
>
>
>
>  As is
>> paying attention to deprecations.
>>
>> If you have failed to see findbugs find a bug worth fixing, then it is
>> because you refuse to use it and don't pay attention to its output. I have
>> seen at least a half a dozen real bugs discovered by findbugs on FOP, and
>> I'm sure there are likely others being masked by the current excludes file
>> which bear further investigation.
>>
>
> It’s certainly a shame that this valuable feedback is lost in such
> a high amount of noise. Within the past week working on a private
> project, I had a dozen or so of warnings and all of them were pure noise
> that I had to ignore in the exclude file.
>
>
>
>  I'm going to enable it for nightly builds, and hopefully you will join the
>> rest of us in using it.
>>
>
> If by this you mean change the Gump descriptor to make CI fail on
> FindBugs warnings, then please first submit an exclude file that
> everybody would agree on. Consensus has to be reached before taking
> action on this.
>

We have been using the same (growing) exclude file for a number of years.
It represents a consensus due to its existence and use. If you wish to
change it, feel free to do so, provided findbugs produces no warnings.


>
>
> Thanks,
>
> Vincent
>
>
>  On Mon, Jun 16, 2014 at 10:02 AM, Vincent Hennebert
>> <vhenneb...@gmail.com>
>> wrote:
>>
>>  On 16/06/14 16:10, Glenn Adams wrote:
>>>
>>>  Given that, with the exception of yourself, the findbugs exclude file
>>>> has
>>>> been continually updated to produce no warnings, I conclude that the FOP
>>>> dev ha implicitly or explicitly accepted it for quite some time.
>>>>
>>>>
>>> And yet, consensus has not been reached on this, since at least one
>>> developer is not keen on using it.
>>>
>>> If there were a real benefit in using FindBugs, then I would be the
>>> first one to promote its use. But that’s not the case, at least not in
>>> the present state.
>>>
>>> Quite on the contrary, I’ve seen bad things done to the code for the
>>> sake of keeping FindBugs quiet. Like surrounding whole chunks of code
>>> with checks for null when the variables are actually not meant to be
>>> null. Or instanceof checks when the variable can have only one type.
>>>
>>> Such checks seriously impede the readability of the code. Whoever comes
>>> after that will wonder why there is a check for null, and why nothing is
>>> done when the variable is null.
>>>
>>> And if that were only that. They also make debugging much harder by
>>> silently ignoring errors instead of making the code fail-fast.
>>>
>>> I have yet to see cases where I think: “Oh yes that’s right, there was
>>> a serious bug here, thanks FindBugs for letting me know.” In most cases,
>>> it’s rather: “Naah, that’s not an error, I’m going to have to update
>>> this exclude file again, which pattern should I put again, where’s the
>>> page that lists them, ah here it is, oh dear, which one is it among
>>> those hundreds?” And that’s to remain polite :-)
>>>
>>>
>>>
>>>   We don't need to do anything to the excludes file to make it
>>> acceptable.
>>>
>>>> It
>>>> is acceptable now. That doesn't mean it couldn't be improved by
>>>> additional
>>>> review and revision, but that is true of the entire FOP code base.
>>>>
>>>>
>>> I hope the above shows why it’s not acceptable as it is. At the moment
>>> and in my opinion, running FindBugs is a waste of time and energy rather
>>> than a help.
>>>
>>>
>>> Vincent
>>>
>>>
>>>
>>>   On Mon, Jun 16, 2014 at 3:32 AM, Vincent Hennebert
>>>
>>>> <vhenneb...@gmail.com>
>>>> wrote:
>>>>
>>>>   Rather than repeating myself, I’ll just point to the past
>>>> conversations
>>>>
>>>>> on this topic:
>>>>> http://markmail.org/message/pg7p2khityg4bjya
>>>>> http://markmail.org/message/taztvj2ms7x6tryb
>>>>>
>>>>> This one is particularly interesting:
>>>>> http://markmail.org/message/lthcstbbmhtbrsva
>>>>> It more or less matches my own experience with FindBugs.
>>>>>
>>>>> The only way to ensure zero FindBugs warnings is to enforce it in
>>>>> continuous integration, just like we did about Checkstyle. But before
>>>>> doing that, you’ll have to come up with a satisfying exclude file that
>>>>> filters out uninteresting warnings, and get the community to agree on
>>>>> it.
>>>>>
>>>>> Vincent
>>>>>
>>>>>
>>>>>
>>>>> On 15/06/14 17:03, Glenn Adams wrote:
>>>>>
>>>>>   I'm getting tired of fixing findbugs warnings that people are
>>>>> leaving in
>>>>>
>>>>>> the
>>>>>> code base. I'm going to start inserting comments that will break
>>>>>> compiles/builds if people don't check and fix these. Today I see four
>>>>>> new
>>>>>> warnings:
>>>>>>
>>>>>> *Dodgy Warnings*
>>>>>>
>>>>>> *Code*
>>>>>>
>>>>>>
>>>>>>
>>>>>> *Warning*
>>>>>>
>>>>>> *BC*
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Unchecked/unconfirmed cast from org.apache.fop.fo.FONode to
>>>>>> org.apache.fop.fo.flow.MultiCase in
>>>>>> org.apache.fop.layoutmgr.LayoutManagerMapping$
>>>>>> MultiCaseLayoutManagerMaker.make(FONode,
>>>>>> List)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> *BC*
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Unchecked/unconfirmed cast from org.apache.fop.fo.FONode to
>>>>>> org.apache.fop.fo.flow.MultiSwitch in
>>>>>> org.apache.fop.layoutmgr.LayoutManagerMapping$
>>>>>> MultiSwitchLayoutManagerMaker.make(FONode,
>>>>>> List)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> *BC*
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Unchecked/unconfirmed cast from org.apache.fop.fo.FObj to
>>>>>> org.apache.fop.fo.flow.MultiSwitch in new
>>>>>> org.apache.fop.layoutmgr.MultiSwitchLayoutManager(FObj)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> *RCN*
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>> Redundant nullcheck of footnoteList, which is known to be non-null in
>>>>>> org.apache.fop.layoutmgr.list.ListItemLayoutManager.
>>>>>> getCombinedKnuthElementsForListItem(List,
>>>>>> List, LayoutContext)
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>>>
>>>>
>>

Reply via email to