+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.
>

Reply via email to