Hi Frank,
I'm familiar with it and almost sure that while it can work in a job
setting where one has hardening sprints and targets
to get quality at certain levels, it won't work in an open source project
like GeoTools or GeoServer, where each changeset
is stand-alone, often driven by a particular contract.

That's why I've been working on something that makes PRs and builds fail,
it's there in you face and you have to fix it
before you can call the work done. A change in a report that happens later
in the day, as readable as it might be, one
can simply shrug off instead. Just my opinion.

That said, if you feel strongly about it, you could setup a sonarqube for
GeoTools and then find ways to get the quality
to improve, maybe sharing the reports once a week or personally pestering
the devs that introduced a significant
quality regression? Or just see if having the report available makes the
devs more aware.
I believe it was done once already in the past... think I did it actually,
it was running on a old computer below my desk,
has been up for some time.

Cheers
Andrea



On Thu, Dec 27, 2018 at 6:34 PM Frank Gasdorf <[email protected]>
wrote:

> We are using https://www.sonarqube.org/ to check code quality not only
> for one project. Maybe it's worth to define rules that can be used by other
> OSGeo Projects as well.
>
> Great stuff IMHO, because you get trends, and coverage reports with maven
> builds, just integrate the plugin and configure Jenkins to publish
> reports to a running instance...
>
> However, IMO its worth to have a static analysis running continuously. It
> should report in a way everybody understands ;)
>
> --
> Frank
>
> Am Do., 27. Dez. 2018 um 08:44 Uhr schrieb Andrea Aime <
> [email protected]>:
>
>> Hi Brad,
>> looks like we overlapped a bit, I also took a stab at removing all
>> un-necessary object wrapper
>> constructions (including booleans). Sorry for not going public about that
>> sooner!
>>
>> I've integrated your work and made a public branch here:
>> https://github.com/geotools/geotools/tree/qa
>>
>> In private I also started working on eleminating return statements found
>> as last item in loop,
>> but soon found there are a number of truly atrocious constructs in
>> metadata and referencing
>> that are "goto" based double nested loops in disguise, which I could not
>> easily unroll into a "sane"
>> loop. I ended up adding a bunch of annotations in the code to turn off
>> the PMD check, but at
>> this point, wondering if it's worth adding the check or not. See the
>> commit here (along with some typo fixes
>> for non public methods that I stumbled into):
>>
>> https://github.com/aaime/geotools/commit/c7a44cdc4e8b61074b5bd91ba000bedb5487496a
>>
>> I'll follow up with a separate mail about the branch, hopefully it will
>> make it more evident to everybody else
>>
>> Cheers
>> Andrea
>>
>>
>>
>>
>> On Wed, Dec 26, 2018 at 10:41 PM <[email protected]> wrote:
>>
>>> I sent a PR for the PMD branch that adds the ruleset as a local file.
>>> Because the ruleset has to be an absolute path to work in the PMD maven
>>> plugin, you now have to run at least the “initialize” goal in maven,
>>> something like:
>>>
>>> mvn initialize pmd:check -Ppmd
>>>
>>> I took the default ruleset and commented out the checks that break on
>>> our current codebase.
>>>
>>> The second commit fixes the Boolean constructor usage (ignoring the //
>>> this code is autogenerated - you shouldnt be modifying it!for all the
>>> filters)
>>>
>>> Brad
>>>
>>>
>>>
>>
>>
>> --
>>
>> Regards, Andrea Aime == GeoServer Professional Services from the experts!
>> Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime
>> @geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054
>> Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339
>> 8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it
>> ------------------------------------------------------- *Con riferimento
>> alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
>> Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
>> circostanza inerente alla presente email (il suo contenuto, gli eventuali
>> allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
>> destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
>> errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
>> sarei comunque grato se potesse darmene notizia. This email is intended
>> only for the person or entity to which it is addressed and may contain
>> information that is privileged, confidential or otherwise protected from
>> disclosure. We remind that - as provided by European Regulation 2016/679
>> “GDPR” - copying, dissemination or use of this e-mail or the information
>> herein by anyone other than the intended recipient is prohibited. If you
>> have received this email by mistake, please notify us immediately by
>> telephone or e-mail.*
>> _______________________________________________
>> GeoTools-Devel mailing list
>> [email protected]
>> https://lists.sourceforge.net/lists/listinfo/geotools-devel
>>
>

-- 

Regards, Andrea Aime == GeoServer Professional Services from the experts!
Visit http://goo.gl/it488V for more information. == Ing. Andrea Aime
@geowolf Technical Lead GeoSolutions S.A.S. Via di Montramito 3/A 55054
Massarosa (LU) phone: +39 0584 962313 fax: +39 0584 1660272 mob: +39 339
8844549 http://www.geo-solutions.it http://twitter.com/geosolutions_it
------------------------------------------------------- *Con riferimento
alla normativa sul trattamento dei dati personali (Reg. UE 2016/679 -
Regolamento generale sulla protezione dei dati “GDPR”), si precisa che ogni
circostanza inerente alla presente email (il suo contenuto, gli eventuali
allegati, etc.) è un dato la cui conoscenza è riservata al/i solo/i
destinatario/i indicati dallo scrivente. Se il messaggio Le è giunto per
errore, è tenuta/o a cancellarlo, ogni altra operazione è illecita. Le
sarei comunque grato se potesse darmene notizia. This email is intended
only for the person or entity to which it is addressed and may contain
information that is privileged, confidential or otherwise protected from
disclosure. We remind that - as provided by European Regulation 2016/679
“GDPR” - copying, dissemination or use of this e-mail or the information
herein by anyone other than the intended recipient is prohibited. If you
have received this email by mistake, please notify us immediately by
telephone or e-mail.*
_______________________________________________
GeoTools-Devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to