你会如何格式化/缩进这段代码?

时间:2008-11-22 15:59:53

标签: formatting indentation code-formatting

你如何格式化/缩进这段代码?

int ID = Blahs.Add( new Blah( -1, -2, -3) );

int ID = Blahs.Add( new Blah(
1,2,3,55
)          
); 

编辑:

我的课程实际上有很多参数,因此可能会影响你的反应。

13 个答案:

答案 0 :(得分:12)

我同意Patrick McElhaney;没有必要嵌套它....

Blah aBlah = new Blah( 1, 2, 3, 55 );
int ID = Blahas.Add( aBlah );

这里有一些小优势:

  1. 你可以在第二行设置一个断点并检查'aBlah'。
  2. 你的差异会更清晰(变化更明显)而不会嵌套陈述,例如:创建新的Blah是一个独立的声明,将其添加到列表中。

答案 1 :(得分:5)

我会选择单线。如果真正的参数使得一行太长,我会用变量分解它。

Blah blah = new Blah(1,2,3,55);
int ID = Blahs.Add( blah );

答案 2 :(得分:4)

int ID = Blahs.Add
( 
    new Blah
    (
        1,    /* When the answer is within this percentage, accept it. */ 
        2,    /* Initial seed for algorithm                            */ 
        3,    /* Maximum threads for calculation                       */ 
        55    /* Limit on number of hours, a thread may iterate        */ 
    )          
);

答案 3 :(得分:4)

所有数字都被添加到结果中。无需单独评论每个号码。评论“这些数字加在一起”将做到这一点。我打算这样做:

int result = Blahs.Add( new Blah(1, 2, 3, 55) );

但如果这些数字本身具有某些含义,则每个数字可以代表完全不同的数字,例如,如果Blah表示库存项目的类型。我会选择

int ID = Blahs.Add( new Blah(
    1, /* wtf is this */ 
    2, /* wtf is this */
    3, /* wtf is this */
    55 /* and huh */
));

答案 4 :(得分:2)

int ID = Blahs.Add( 
            new Blah( 1, 2, 3, 55 )          
         );

但我必须承认,77次中有76次我做了你第一次做的事。

答案 5 :(得分:2)

首先,因为你无论如何都要内联它。

答案 6 :(得分:2)

我会使用与第一个示例类似的格式,但在括号分隔符之前和之后没有冗余空格分隔符:

int id = BLahs.Add(new Blah(-1, -2, -3));

请注意,在这种情况下我也不会使用全大写变量名,这通常意味着一些特殊的变量,如常量。

答案 7 :(得分:2)

将它分成两行:

new_Blah = new Blah(-1, -2, -3)
int ID = BLahs.Add(new_Blah);

或缩进新的Blah();拨打:

int ID = BLahs.Add(
    new Blah(-1, -2, -3)
);

除非争论很长,否则我可能会做类似的事情。

int ID = BLahs.Add(new Blah(
    (-1 * 24) + 9,
    -2,
    -3
));

作为一个稍微更实际的例子,在Python中我通常会执行以下任一操作:

myArray.append(
    someFunction(-1, -2, -3)
)

myArray.append(someFunction(
    otherFunction("An Arg"),
    (x**2) + 4,
    something = True
))

答案 8 :(得分:1)

一行,除非有大量数据。无论什么是第一个,我都会在大约十个项目或总共60个,70个列中画出这条线。

答案 9 :(得分:1)

无论Eclipse的自动格式化程序给我什么,所以当下一个开发人员在提交之前处理该代码和格式时,差异并没有奇怪的问题。

答案 10 :(得分:0)

int ID = Blahs.Add(new Blah(1,2,3,55)); //数字n使得n的基数为4的数字组等于n的基数为6的数字。

答案 11 :(得分:0)

的问题
Blah aBlah = new Blah( 1, 2, 3, 55 );
int ID = Blahas.Add( aBlah );

它与你的命名空间混淆。如果您不需要Blah的引用,则不应创建它。

答案 12 :(得分:0)

我要么将其作为单行或将new Blah分配给变量,具体取决于我是否需要再次直接引用该Blah

对于一对答案通过将每个参数放在带注释的单独行上解决的可读性问题,我将通过使用命名参数来解决这个问题。 (但不幸的是,并非所有语言都支持命名参数。)

int ID = BLahs.Add(new Blah( foo => -1, bar => -2, baz => -3 ));