差:
my_result = MyObject.my_method(first_parameter, second_parameter,
MyOtherObject.other_method(first, second))
- 很快就会达到行长度限制,尤其是在存在嵌套调用/列表时。
- 如果重命名任何内容,必须更改第 2 行之后的缩进。
- 必须为每个新参数添加一堆缩进。
- 一般不对齐默认缩进的倍数。
- 找到第 N 个参数的速度较慢,因为我必须同时进行垂直和水平扫描。
好:
my_result = MyObject.my_method(
first_parameter,
second_parameter,
MyOtherObject.other_method(first, second),
)
- 比上面的代码更容易扫描,因为第一个参数与方法名称更加分离。
- 更容易找到第 N 个参数。
- 尾随逗号表示添加新参数时的差异只是一行。
换句话说:
- 仅当所有参数与方法调用位于同一行时,才将多个参数放在同一行。
- 尽量减少任何更改的 diff 复杂性。
这个模式有名字吗?
(用例是我想找到一个 linter 来检查它,但首先我需要知道它叫什么。)
我是一名优秀的程序员,十分优秀!