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.

Reply via email to