git/list[1] front-page[2] threads[3] people[4] search[5] about
 

Re: [PATCH 2/3] Documentation: document naming schema for struct-related functions

From
Karthik Nayak <karthik.188@gmail.com>
Date
Jul 24, 2024, 11:42 UTC
Message-ID
<CAOLa=ZQn1uYSd0089+jOguVBSnKfZjak4766V3B8mXn2hBgAkg@mail.gmail.com>
In-Reply-To
<7f07bf1f3beee2f74a3572d2b9a8d28b6535053e.1721818488.git.ps@pks.im>
Patrick Steinhardt <ps@pks.im> writes:
Show 30 quoted lines
> We nowadays have a proper mishmash of struct-related functions that are
> called `<verb>_<struct>` (e.g. `clear_prio_queue()`) versus functions
> that are called `<struct>_<verb>` (e.g. `strbuf_clear()`). While the
> former style may be easier to tie into a spoken conversation, most of
> our communication happens in text anyway. Furthermore, prefixing
> functions with the name of the structure they operate on makes it way
> easier to group them together, see which functions are related, and will
> also help folks who are using code completion.
>
> Let's thus settle on one style, namely the one where functions start
> with the name of the structure they operate on.
>
> Signed-off-by: Patrick Steinhardt <ps@pks.im>
> ---
>  Documentation/CodingGuidelines | 19 +++++++++++++++++++
>  1 file changed, 19 insertions(+)
>
> diff --git a/Documentation/CodingGuidelines b/Documentation/CodingGuidelines
> index 1d09384f28..34fcbcb5a4 100644
> --- a/Documentation/CodingGuidelines
> +++ b/Documentation/CodingGuidelines
> @@ -541,6 +541,25 @@ For C programs:
>     use your own debugger and arguments. Example: `GIT_DEBUGGER="ddd --gdb"
>     ./bin-wrappers/git log` (See `wrap-for-bin.sh`.)
>
> + - Functions that operate on a specific structure and which are used by
> +   other subsystems shall be named after the structure. The function
> +   name should start with the name of the structure followed by a verb.
> +   E.g.
> +
Nit: It would be nice to add `<struct>_<verb>` here, since we do something
similar in the next patch.
Show 12 quoted lines
> +	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, ...);
> +

I first thought this was a typo and should've been `add_strbuf` instead, but I'm sure your intention was to show _other forms_ instead of `<struct>_<verb>` here.

Maybe we could do s/is preferred over/is preferred over other forms, like/. I dunno. It is probably fine as is :)

Show 7 quoted lines
> +	void reset_strbuf(struct strbuf *buf);
> +
>  For Perl programs:
>
>   - Most of the C guidelines above apply.
> --
> 2.46.0.rc1.dirty
Previous: Patrick SteinhardtNext: Patrick Steinhardt
Message 7 of 29 in “Documentation: some coding guideline updates”
  1. 0/3 Documentation: some coding guideline updatesPatrick Steinhardt, Jul 24, 2024
  2. 1/3 Documentation: clarify indentation style for C preprocessor directivesPatrick Steinhardt, Jul 24, 2024
  3. Junio C HamanoJul 24, 2024
  4. Junio C HamanoJul 25, 2024
  5. Patrick SteinhardtJul 30, 2024
  6. 2/3 Documentation: document naming schema for struct-related functionsPatrick Steinhardt, Jul 24, 2024
  7. Karthik NayakJul 24, 2024
  8. Patrick SteinhardtJul 24, 2024
  9. Junio C HamanoJul 24, 2024
  10. Junio C HamanoJul 24, 2024
  11. Patrick SteinhardtJul 30, 2024
  12. 3/3 Documentation: document difference between release and freePatrick Steinhardt, Jul 24, 2024
  13. Karthik NayakJul 24, 2024
  14. Patrick SteinhardtJul 24, 2024
  15. Phillip WoodJul 24, 2024
  16. Junio C HamanoJul 24, 2024
  17. Patrick SteinhardtJul 30, 2024
  18. Junio C HamanoJul 24, 2024
  19. Patrick SteinhardtJul 30, 2024
  20. Karthik NayakJul 24, 2024
  21. 0/5 Documentation: some coding guideline updatesPatrick Steinhardt, Jul 30, 2024
  22. 1/5 clang-format: fix indentation width for preprocessor directivesPatrick Steinhardt, Jul 30, 2024
  23. Karthik NayakJul 30, 2024
  24. 2/5 Documentation: clarify indentation style for C preprocessor directivesPatrick Steinhardt, Jul 30, 2024
  25. 3/5 Documentation: document naming schema for structs and their functionsPatrick Steinhardt, Jul 30, 2024
  26. 4/5 Documentation: document idiomatic function namesPatrick Steinhardt, Jul 30, 2024
  27. 5/5 Documentation: consistently use spaces inside initializersPatrick Steinhardt, Jul 30, 2024
  28. Junio C HamanoJul 30, 2024
  29. Karthik NayakJul 31, 2024

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.