From: Junio C Hamano <gitster@pobox.com>
To: Johannes Schindelin <Johannes.Schindelin@gmx.de>
Cc: Jinoh Kang <luke1337@theori.io>, Junio C Hamano <junio@pobox.com>,
git@vger.kernel.org
Subject: Re: [PATCH v3] diff: make diff_free_filespec_data accept NULL
Date: Tue, 10 Nov 2020 09:02:13 -0800 [thread overview]
Message-ID: <xmqqblg587sa.fsf@gitster.c.googlers.com> (raw)
In-Reply-To: <nycvar.QRO.7.76.6.2011101257540.18437@tvgsbejvaqbjf.bet> (Johannes Schindelin's message of "Tue, 10 Nov 2020 13:08:22 +0100 (CET)")
Johannes Schindelin <Johannes.Schindelin@gmx.de> writes:
>> void diff_free_filespec_data(struct diff_filespec *s)
>> {
>> + if (!s)
>> + return;
>> +
>> diff_free_filespec_blob(s);
>> FREE_AND_NULL(s->cnt_data);
>
> We can write this in a more canonical way without wasting all that many
> lines:
>
> if (s) {
> diff_free_filespec_blob(s);
> FREE_AND_NULL(s->cnt_data);
> }
On only this part. Please do not use this one, as what was posted
is better.
By making it clear that we do not do anything when given NULL
upfront, it lets readers concentrate on the main part of the
function---"now we are done with NULL, what happens on a real case?"
And when readers are doing so, one extra indentation level is just
an extra noise that does not help.
In this particular case, it is important more from coding discipline
than anything else---for a small enough function like this one whose
main part fits on less than fourth of a screen, extra indentation
does not matter, but all code tends to grow and it starts to matter
if/when we need to clean more things in the function.
Everything else said in the review was excellent and very helpful.
Thanks.
next prev parent reply other threads:[~2020-11-10 17:02 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <aeb24944-17af-cf53-93f4-e727f9fe9988@theori.io>
[not found] ` <xmqq4km4lppy.fsf@gitster.c.googlers.com>
2020-11-06 17:02 ` [PATCH v2] diff: handle NULL filespecs in run_external_diff Jinoh Kang
2020-11-06 17:14 ` [PATCH v3] diff: make diff_free_filespec_data accept NULL Jinoh Kang
2020-11-10 12:08 ` Johannes Schindelin
2020-11-10 13:16 ` Jinoh Kang
2020-11-10 14:21 ` Jinoh Kang
2020-11-10 17:02 ` Junio C Hamano [this message]
2020-11-10 14:06 ` [PATCH v4] " Jinoh Kang
2020-11-10 15:38 ` Johannes Schindelin
2020-11-11 12:30 ` Jinoh Kang
2020-11-11 16:28 ` Johannes Schindelin
2020-11-10 19:41 ` Junio C Hamano
2020-11-11 12:15 ` [PATCH v5] " Jinoh Kang
2020-11-11 16:27 ` Johannes Schindelin
2020-11-11 19:18 ` Junio C Hamano
2020-11-06 19:18 ` [PATCH v2] diff: handle NULL filespecs in run_external_diff Junio C Hamano
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: http://vger.kernel.org/majordomo-info.html
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=xmqqblg587sa.fsf@gitster.c.googlers.com \
--to=gitster@pobox.com \
--cc=Johannes.Schindelin@gmx.de \
--cc=git@vger.kernel.org \
--cc=junio@pobox.com \
--cc=luke1337@theori.io \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://80x24.org/mirrors/git.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).