At Wed, 23 Mar 2022 10:13:43 -0400, Tom Lane <t...@sss.pgh.pa.us> wrote in 
> Robert Haas <robertmh...@gmail.com> writes:
> > I think that the code is perfectly readable as it is and that this
> > change makes it less so.
> 
> Yeah, after a quick look through this patch I'm unimpressed too.
> The new code is strictly longer, and it requires the introduction
> of distracting "!" and "&" operators in many places.

The struct members are not private at all.  In that sense StringInfo
is not a kind of class of C/Java but like a struct of C/C++ at least
to me.  I think encapsulating only ".len == 0" doesn't help.  Already
in many places we pull out buf.data to use it separately from buf, we
have a dozen of instances of "buf.len (<|>|<=|>=) <some length>" and
even "buf.data[buf.len - 1] == '\n'"

About read-easiness, isEmptyStringInfo(str) slightly spins my eyes
than str->len == 0.

regards.

-- 
Kyotaro Horiguchi
NTT Open Source Software Center


Reply via email to