Folks, First of all, @NotNull already restricted. And cool guys should use asserts and explicit checks instead of checked-by-nobody annotations. Some contributors use vim to write the code, how will it check correctness? Or we should use only the IDEA?
Second, >> I would consider every not annotated item as effectively @Nullable that's an absolutely correct statement! >> potential NPE places - where you forgot to check for null object marked @Nullable What's the difference between "@Nullable Object field" and just "Object field"? Correct, absolutely no difference. Both can be null. @Nullable annotation protects you from NPE even worse that Arbidol protects you from flu. On Fri, Mar 27, 2020 at 3:30 PM Dmitriy Pavlov <dpav...@apache.org> wrote: > +1 for using @Nullable as it is a kind of documentation > +1 for using @NotNull as it protects from > wrong fields/variables assignments if modern IDE is used. > > пт, 27 мар. 2020 г. в 14:28, Sergey-A Kosarev <sergey-a.kosa...@db.com>: > > > Classification: Public > > > > +1 for using @Nullable. > > > > @Nullable is not panacea, but much better than nothing. > > > > It's clear indication that you should check the marked object for null > > before using. There is advantage in using @Nullable than @NotNull - Idea > or > > any tool like findbugs shows you potential NPE places - where you forgot > to > > check for null object marked @Nullable, otherwise if you use only > @NotNull > > it's much harder to see NPE problems as, I believe, always will be too > many > > noise - places where developers just forgot to place annotation. > > > > And another arguable point is statistics, in my experience there are more > > objects that not null by nature than nullable. So if you should mark only > > all @NotNull objects, you will need to place much more annotations than > if > > mark only @Nullable objects. > > > > Kind regards, > > Sergey Kosarev > > > > > > -----Original Message----- > > From: Ivan Pavlukhin [mailto:vololo...@gmail.com] > > Sent: 27 March 2020 13:28 > > To: dev <dev@ignite.apache.org> > > Subject: Re: Get rid of @Nullable and @NotNull > > > > Here is my opinion. As we do not have a common practice to use @Nullable > > and @NotNull annotations everywhere I would consider every not annotated > > item as effectively @Nullable. @NotNull seems a useful annotation for me, > > sometimes it is a really good thing to assume that something cannot be > null > > instead of doing explicit null check everywhere. > > > > Best regards, > > Ivan Pavlukhin > > > > пт, 27 мар. 2020 г. в 13:05, Denis Garus <garus....@gmail.com>: > > > > > > Hi! > > > I'm not sure that @Nullable can really fix the NPE problem. > > > Currently, we have @Nullable annotation and NPE simultaneously. > > > The best way to avoid NPE is by using a null object pattern. > > > I agree we shouldn't rely on @Nullable. > > > > > > > > > пт, 27 мар. 2020 г. в 12:58, Sergey Antonov <antonovserge...@gmail.com > >: > > > > > > > I disagree. > > > > > > > > Intellij idea IDE has a static code analysis, which uses that > > > > annotation too. IDE highlights possible problems. It helps to make > > > > our code more stable and bugless. > > > > > > > > пт, 27 мар. 2020 г. в 12:06, Pavel Tupitsyn <ptupit...@apache.org>: > > > > > > > > > I disagree, it would be a step back. > > > > > > > > > > > What's the reason for using it? > > > > > Null was a billion dollar mistake [1]. > > > > > NullPointerExceptions happen quite a lot in Ignite, and > > > > > annotations > > > > provide > > > > > some clues to avoid those. > > > > > > > > > > [1] > > > > > https://en.wikipedia.org/wiki/Tony_Hoare#Apologies_and_retractions > > > > > > > > > > On Fri, Mar 27, 2020 at 10:58 AM Anton Vinogradov <a...@apache.org> > > wrote: > > > > > > > > > > > Folks, > > > > > > > > > > > > Found we still use @Nullable annotation. > > > > > > > > > > > > What's the reason for using it? > > > > > > Everything is Object and Nullable :) > > > > > > > > > > > > How about get rid of @Nullable usages and restrict its usage by > > > > > checkstyle > > > > > > plugin? > > > > > > > > > > > > BTW, We already "do not use @NotNull annotation" (с) Coding > > > > > > Guidelines > > > > > [1] > > > > > > which may have some cense in contrast to @Nullable. > > > > > > But I see a lot of usages at code. > > > > > > > > > > > > How about to get rid of @NotNull too and to add such check to > > > > checkstyle > > > > > > plugin too? > > > > > > > > > > > > [1] > > > > > > > > > > > > > > > > > > > > > https://cwiki.apache.org/confluence/display/IGNITE/Coding+Guidelines > > > > #CodingGuidelines-@Annotations > > > > > > > > > > > > > > > > > > > > > > > -- > > > > BR, Sergey Antonov > > > > > > > > > > --- > > This e-mail may contain confidential and/or privileged information. If > you > > are not the intended recipient (or have received this e-mail in error) > > please notify the sender immediately and delete this e-mail. Any > > unauthorized copying, disclosure or distribution of the material in this > > e-mail is strictly forbidden. > > > > Please refer to https://www.db.com/disclosures for additional EU > > corporate and regulatory disclosures and to > > http://www.db.com/unitedkingdom/content/privacy.htm for information > about > > privacy. > > >