Para mí, hace que el código sea más legible y, por lo tanto, es una buena convención.
Creo que la diferencia clave en términos de estilo entre las asignaciones de variables y las asignaciones de palabras clave de función es que solo debería haber una única =
en una línea para las primeras, mientras que generalmente hay múltiples =
s en una línea para las últimas.
Si no hubiera otras consideraciones, preferiríamos foo = 42
hacerlo foo=42
, porque el segundo no es el formato típico de los signos iguales y porque el primero separa visualmente la variable y el valor con espacios en blanco.
Pero cuando hay varias asignaciones en una línea, preferimos f(foo=42, bar=43, baz=44)
hacerlo f(foo = 42, bar = 43, baz = 44)
, porque la primera separa visualmente las diversas asignaciones con espacios en blanco, mientras que la segunda no lo hace, lo que hace que sea un poco más difícil ver dónde están los pares de palabra clave / valor.
Aquí hay otra manera de decirlo: no es una consistencia detrás de la convención. Esa consistencia es la siguiente: el "nivel más alto de separación" se hace visualmente más claro a través de los espacios. Los niveles inferiores de separación no lo son (porque se confundiría con el espacio en blanco que separa el nivel superior). Para la asignación de variables, el nivel más alto de separación es entre variable y valor. Para la asignación de palabras clave de función, el nivel más alto de separación es entre las asignaciones individuales en sí.
{
una nueva línea despuésif
(guarda el mismo número de caracteres) pero no en la definición de clase. Además, un parámetro de palabra clave es diferente al valor predeterminado, pero sigue utilizando la misma recomendación de estilo.