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 |
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 <[hidden email]> 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 > |
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 <[hidden email]>: > 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 <[hidden email]> 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 |
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 <[hidden email]>: > 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 <[hidden email]>: > > > 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 <[hidden email]> 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 > |
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 <[hidden email]>: > > 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 <[hidden email]>: > > > 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 <[hidden email]>: > > > > > 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 <[hidden email]> 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 > > |
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:[hidden email]] Sent: 27 March 2020 13:28 To: dev <[hidden email]> 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 <[hidden email]>: > > 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 <[hidden email]>: > > > 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 <[hidden email]>: > > > > > 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 <[hidden email]> 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. |
+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 <[hidden email]>: > 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:[hidden email]] > Sent: 27 March 2020 13:28 > To: dev <[hidden email]> > 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 <[hidden email]>: > > > > 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 <[hidden email]>: > > > > > 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 <[hidden email]>: > > > > > > > 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 <[hidden email]> > 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. > |
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 <[hidden email]> 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 <[hidden email]>: > > > 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:[hidden email]] > > Sent: 27 March 2020 13:28 > > To: dev <[hidden email]> > > 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 <[hidden email]>: > > > > > > 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 <[hidden email] > >: > > > > > > > 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 <[hidden email]>: > > > > > > > > > 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 <[hidden email]> > > 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. > > > |
In reply to this post by Anton Vinogradov-2
Hello!
I think that we should stick with existing coding guidelines, you may use Nullable to specify that something may be null and it's fine. Then, everything else is assumed not null and problem solved, NotNull not needed. Regards, -- Ilya Kasnacheev пт, 27 мар. 2020 г. в 10:58, Anton Vinogradov <[hidden email]>: > 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 > |
Free forum by Nabble | Edit this page |