On Saturday, October 28, 2017 at 9:54:30 PM UTC+3, bartc wrote: > On 28/10/2017 19:42, Στέφανος Σωφρονίου wrote: > > Greetings everyone. > > > > I have noticed that in many if conditions the following syntax is used: > > > > a) if (variable == NULL) { ... } > > b) if (variable == -1) { ... } > > c) if (variable != NULL) { ... } > > > > What I wanted to ask is, is there a particular reason for not choosing > > > > a) if (!variable) { ... } in place of if (variable == NULL) { ... }, > > b) if (-1 == variable) { ... } in place of if (variable == -1) { ... }, and > > c) if (variable) { ... } in place of if (variable) { ... } ? > > (Presumably you meant variable != NULL)
Yep, I forgot to show the != NULL part; good catch! > > > Especially the (b) syntax is extremely dangerous to assign -1 to variable > > in case of an accidental mistyping of equals sign; it had happened > > countless times by now to to many of us that use various C-family languages. > > > > Is there a particular reason for using this specific coding style? > > Which one do you think is more readable? > > Which style would you prefer to read? > > Or do you prefer the more cryptic style in open source code? > > > (The = vs. == issue is of one of numerous design flaws in C, but > uglifying source code to get around it isn't the answer.) I understand what you are saying and I don't have a styling preference, at least in CPython's case. I do believe though that if (!d) is a lot clearer than if (d == NULL) as it is safer than falsely assigning NULL in d, by pure mistake. But indeed it's a matter of taste. I just wanted to see whether there is a certain favor around such coding style, that's all. > > > > -- > bartc -- https://mail.python.org/mailman/listinfo/python-list