[Python-Dev] PEP 7 and braces { .... } on if

Serhiy Storchaka storchaka at gmail.com
Mon Jun 5 01:41:22 EDT 2017


03.06.17 23:30, Barry Warsaw пише:
> On Jun 03, 2017, at 07:25 PM, Serhiy Storchaka wrote:
> 
>> But the latter example continuation lines are intended at the same level as
>> the following block of code. I propose to make exception for that case and
>> allow moving an open brace to the start of the next line.
>>
>>      if (type->tp_dictoffset != 0 && base->tp_dictoffset == 0 &&
>>          type->tp_dictoffset == b_size &&
>>          (size_t)t_size == b_size + sizeof(PyObject *))
>>      {
>>          return 0; /* "Forgive" adding a __dict__ only */
>>      }
> 
> Agreed!
> 
> https://github.com/python/peps/issues/283
> https://github.com/python/peps/pull/284

Thank you for opening a PR Barry! But there is some disputation. Barry 
and Victor prefer moving a brace on a new line in all multiline 
conditional cases. I think that it should be done only when the 
condition continuation lines and the following block of the code have 
the same indentation (as in the example above), and the following code 
is enough readable:

         if (PyErr_WarnFormat(PyExc_DeprecationWarning, 1,
                              "invalid escape sequence '\\%c'",
                              *first_invalid_escape) < 0) {
             Py_DECREF(result);
             return NULL;
         }

What other core developers think about this?



More information about the Python-Dev mailing list