[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20250510195603.37279af3@pumpkin>
Date: Sat, 10 May 2025 19:56:03 +0100
From: David Laight <david.laight.linux@...il.com>
To: Alexey Dobriyan <adobriyan@...il.com>
Cc: corbet@....net, workflows@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 8/9] CodingStyle: tell people how to split long "for"
loops
On Fri, 9 May 2025 23:34:29 +0300
Alexey Dobriyan <adobriyan@...il.com> wrote:
> Signed-off-by: Alexey Dobriyan <adobriyan@...il.com>
> ---
> Documentation/process/coding-style.rst | 16 +++++++++++++++-
> 1 file changed, 15 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/process/coding-style.rst b/Documentation/process/coding-style.rst
> index e17de69845ff..494ab3201112 100644
> --- a/Documentation/process/coding-style.rst
> +++ b/Documentation/process/coding-style.rst
> @@ -183,7 +183,21 @@ Descendants are always substantially shorter than the parent and
> are placed substantially to the right. A very commonly used style
> is to align descendants to a function open parenthesis.
>
> -These same rules are applied to function headers with a long argument list.
> +These same rules are applied to function prototypes with a long argument list.
> +
> +Very long ``for`` loops are split at the ``;`` characters making it easier
> +to see which code goes to which clause:
> +
> +.. code-block:: c
> +
> + for (int i = 0;
> + i < N;
> + i += 1)
> + {
> + }
> +
> +Opening curly is placed on a separate line then to make it easier to tell
> +loop body from iteration clause.
Is that actually the style - I don't remember seeing it.
The location of the { isn't a significant problem with for (;;), it can be
much worse elsewhere.
In reality the 'align with the (' is what causes the problems, either
double indenting (two tabs) or half indent (4 spaces - to annoy anyone who
sets an editor to 4 space tabs) is more readable.
For for (;;) loops I'll normally try moving the initialisation outside the
loop and even put an inverted condition inside the loop to avoid long lines.
If a #define all bets are off :-)
David
>
> However, never break user-visible strings such as printk messages because
> that breaks the ability to grep for them.
Powered by blists - more mailing lists