你喜欢在哪里拆分长线?

ack*_*ack 8 c++ whitespace coding-style line-breaks

对于手动包装长线,您选择破线的个人启发式是什么?

假设这条线太长,你可能在哪里打破它,它的优先顺序是什么?

double var = GetContext()->CalculateValue(element, 10.0);
Run Code Online (Sandbox Code Playgroud)


大多数人同意每行分离参数:

double var = GetContext()->CalculateValue(element,
                                          10.0);
Run Code Online (Sandbox Code Playgroud)


有没有人打破开幕式?

double var = GetContext()->CalculateValue(
                                 element, 10.0);
Run Code Online (Sandbox Code Playgroud)


但是如何解除引用运算符(或.):

double var = GetContext()
                 ->CalculateValue(element, 10.0);
Run Code Online (Sandbox Code Playgroud)

或者你会:

double var = GetContext()->
                 CalculateValue(element, 10.0);
Run Code Online (Sandbox Code Playgroud)


赋值运算符有什么不同?

double var = 
    GetContext()->CalculateValue(element, 10.0);
Run Code Online (Sandbox Code Playgroud)

要么

double var
    = GetContext()->CalculateValue(element, 10.0);
Run Code Online (Sandbox Code Playgroud)

还有其他人?


如果您的系统是程序性的,您可以这样回答:

  1. 逗号中的参数名称
  2. 在a ->.运营商之前
  3. 在赋值运算符之后

或者只是发布一些示例代码!
如果您可以在学术上证明您的决定权,那么奖励积分.

ver*_*ude 5

我喜欢按照绑定顺序的强度进行分割,首先最接近行尾。所以在你的例子中我会在 = 符号处分开。如果这仍然超出了边缘,我会在 -> 处拆分

分行的想法只是为了读者的利益(因为编译可能不太关心)。我发现在心理上更容易将代码片段分成逻辑组。