git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Junio C Hamano <gitster@pobox.com>
To: Patrick Steinhardt <ps@pks.im>
Cc: git@vger.kernel.org,  Karthik Nayak <karthik.188@gmail.com>
Subject: Re: [PATCH 2/3] Documentation: document naming schema for struct-related functions
Date: Wed, 24 Jul 2024 09:50:40 -0700	[thread overview]
Message-ID: <xmqqikwuwx7j.fsf@gitster.g> (raw)
In-Reply-To: <7f07bf1f3beee2f74a3572d2b9a8d28b6535053e.1721818488.git.ps@pks.im> (Patrick Steinhardt's message of "Wed, 24 Jul 2024 13:05:17 +0200")

Patrick Steinhardt <ps@pks.im> writes:

> + - Functions that operate on a specific structure and which are used by
> +   other subsystems shall be named after the structure.

I am not sure if this is a good guideline.  In the case of strbuf_,
you could say it is named after the structure, but I would actually
think that both structure and the functions are named after the
subsystem/API (i.e. we have "strbuf" that other subsystems can use).

> + The function
> +   name should start with the name of the structure followed by a verb.
> +   E.g.
> +
> +	struct strbuf;
> +
> +	void strbuf_add(struct strbuf *buf, ...);
> +
> +	void strbuf_reset(struct strbuf *buf);
> +
> +    is preferred over:
> +
> +	struct strbuf;
> +
> +	void add_string(struct strbuf *buf, ...);
> +
> +	void reset_strbuf(struct strbuf *buf);

Do we want to rename start_command(), finish_command(),
run_command() and pipe_command()?  child_process_start() sounds
somewhat ungrammatical.

By the way, some functions that have strbuf_ in their names do not
have anything to do with managing strings using the strbuf
structure, but they do things that are *not* about strings, but
happen to use strbuf as a way to either feed input to them or carry
output out of them.  They should be renamed away to lose "strbuf_"
in their names (e.g. strbuf_realpath() is about pathnames; it is
immaterial that the function happens to use strbuf to hold its
output but takes input from "const char *").

  parent reply	other threads:[~2024-07-24 16:50 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-24 11:05 [PATCH 0/3] Documentation: some coding guideline updates Patrick Steinhardt
2024-07-24 11:05 ` [PATCH 1/3] Documentation: clarify indentation style for C preprocessor directives Patrick Steinhardt
2024-07-24 16:41   ` Junio C Hamano
2024-07-25  5:06     ` Junio C Hamano
2024-07-30  6:32       ` Patrick Steinhardt
2024-07-24 11:05 ` [PATCH 2/3] Documentation: document naming schema for struct-related functions Patrick Steinhardt
2024-07-24 11:42   ` Karthik Nayak
2024-07-24 13:12     ` Patrick Steinhardt
2024-07-24 16:50   ` Junio C Hamano [this message]
2024-07-24 16:56     ` Junio C Hamano
2024-07-30  6:41     ` Patrick Steinhardt
2024-07-24 11:05 ` [PATCH 3/3] Documentation: document difference between release and free Patrick Steinhardt
2024-07-24 11:46   ` Karthik Nayak
2024-07-24 13:11     ` Patrick Steinhardt
2024-07-24 14:30       ` Phillip Wood
2024-07-24 18:02         ` Junio C Hamano
2024-07-30  6:49           ` Patrick Steinhardt
2024-07-24 16:52   ` Junio C Hamano
2024-07-30  6:43     ` Patrick Steinhardt
2024-07-24 11:47 ` [PATCH 0/3] Documentation: some coding guideline updates Karthik Nayak
2024-07-30  7:24 ` [PATCH v2 0/5] " Patrick Steinhardt
2024-07-30  7:24   ` [PATCH v2 1/5] clang-format: fix indentation width for preprocessor directives Patrick Steinhardt
2024-07-30 14:19     ` Karthik Nayak
2024-07-30  7:24   ` [PATCH v2 2/5] Documentation: clarify indentation style for C " Patrick Steinhardt
2024-07-30  7:24   ` [PATCH v2 3/5] Documentation: document naming schema for structs and their functions Patrick Steinhardt
2024-07-30  7:24   ` [PATCH v2 4/5] Documentation: document idiomatic function names Patrick Steinhardt
2024-07-30  7:24   ` [PATCH v2 5/5] Documentation: consistently use spaces inside initializers Patrick Steinhardt
2024-07-30 20:55   ` [PATCH v2 0/5] Documentation: some coding guideline updates Junio C Hamano
2024-07-31  9:12   ` Karthik Nayak

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

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=xmqqikwuwx7j.fsf@gitster.g \
    --to=gitster@pobox.com \
    --cc=git@vger.kernel.org \
    --cc=karthik.188@gmail.com \
    --cc=ps@pks.im \
    /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.
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 NNTP newsgroup(s).