Hi Elvis,

this is exactly the style I use in my personal projects, and just as you, I find this very consistent.

But I uses it sparely, because such long if conditions are always a sign that something is overcomplicated. I prefer to use helper variables that are assigned before the if-condition, which almost always increases the readability and also helps to debug the code.

Regards, André

Am 18.07.26 um 10:12 schrieb Elvis Stansvik:
Den fre 17 juli 2026 17:28André Somers via Development <development@qt- project.org <mailto:[email protected]>> skrev:

    __

    Hi,


    On 16-07-2026 11:14, Marc Mutz via Development wrote:
    Hi,

    The current style guide¹ asks for attached braces on if
    statements, incl. when the if condition spans multiple lines (#6):
    // Correct if (address.isEmpty() || !isValid() || !codec) { return
    false; }
    I've been bothered by this for years, since I think this is
    totally unreadable. In particular, if the last line of the if is
    on the longer side, the body of the then branch is almost
    impossible to distinguish from a continuation of the condition.

    I would therefore like to propose to allow placing the opening
    brace on a separate line if the if condition is multi-line:
    // (now also) Correct if (address.isEmpty() || !isValid() || !
    codec) { return false; }

    I agree. I find this more readable. But I would prefer to have
    logical groups of the condition be either broken one per line, or
    all on the same line. So:


      // Correct
      if (address.isEmpty() || !isValid() || !codec) {
          return false;
      }

    or


      // (now also) Correct
      if (address.isEmpty()
          || !isValid()
          || !codec)
      {
          return false;
      }

If we're going to have a bit of suggestion bingo in here, I have to throw in:

if (
     address.isEmpty()
     || !isValid()
     || !codec
) {
     return false;
}

I.e. not only putting each group on its own line, but also letting it be there by itself without any (, ) or {. I think that lets you focus on what the group is saying best, without any "distraction" on the line.

Realize some people may not like this "tall" style, but thought I'd throw it in there since it somewhat sneakily dodges the question of the opening brace - it's consistent with other situations in that it's kept with the ), but there's a bit of "air" between conditions and body.

    But also this:

      // (now also) Correct
      if ((address.isEmpty() && !isValid())
          || !codec)
      {
          return false;
      }


    Cheers,


    André


-- Development mailing list
    [email protected] <mailto:[email protected]>
    https://lists.qt-project.org/listinfo/development <https://lists.qt-
    project.org/listinfo/development>



--
Development mailing list
[email protected]
https://lists.qt-project.org/listinfo/development

Reply via email to