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
