Hey Andrea, that looks great. Is it complementary with the ExcessiveMethodLength rule or surpasses it?
This reminded me I had these unpushed branches. Created a jira ticket and these pr's: https://github.com/geotools/geotools/pull/3544 https://github.com/geotools/geotools/pull/3545 https://github.com/geotools/geotools/pull/3546 On Sat, 12 Jun 2021 at 09:02, Roar Brænden <roar.brenden...@gmail.com> wrote: > Good points, but I have spent a lot of time figuring out > NullPointerException within Geotools. > > Regards, > > Roar Brænden > > lør. 12. jun. 2021 kl. 13:29 skrev Andrea Aime < > andrea.a...@geo-solutions.it>: > >> On Sat, Jun 12, 2021 at 12:31 PM Roar Brænden <roar.brenden...@gmail.com> >> wrote: >> >>> Hi, >>> Looking at that last method, I counted seven «return null». >>> Is there a PMD for replacing «return null» with Optional? >>> >> >> I don't know.. but that would be an API break. So it needs the usual >> cycle of deprecation, >> replacement, removal after a release. >> >> Also, it must not be subject to a dumb automatic check, there is a lot of >> discussion on the >> net about usage of Optionals, inlcuding a list of places where they >> should not be used... a few >> of interesting refences: >> - >> https://medium.com/@yassinhajaj/optionals-are-bad-practices-still-bad-practices-if-everyone-practices-them-6ec5a66c30aa >> - https://dzone.com/articles/using-optional-correctly-is-not-optional >> >> In the specific case of GeoTools, using Optionals should be taken with >> extra care, as we >> have parts of the API called millions of times, adding the allocation of >> millions of wrappers >> causes significant overhead (as we have learned the hard and painful way >> with the JTS Coordinate class). >> >> Cheers >> Andrea >> >> == 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 > GeoTools-Devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/geotools-devel > -- Gabriel Roldán
_______________________________________________ GeoTools-Devel mailing list GeoTools-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/geotools-devel