关于如何使用匿名类的建议,同时保持与Allman indent style一致?我真的不喜欢我想出的任何东西,例如Allman风格的匿名类
// Pass as parameter.
foo(new Clazz()
{
// Do stuff.
});
// Assign to variable.
Clazz bar = new Clazz()
{
// Do stuff.
};
关于如何使用匿名类的建议,同时保持与Allman indent style一致?我真的不喜欢我想出的任何东西,例如Allman风格的匿名类
// Pass as parameter.
foo(new Clazz()
{
// Do stuff.
});
// Assign to variable.
Clazz bar = new Clazz()
{
// Do stuff.
};
这就是我已经解决的问题。
Foo foo = new Foo()
{
// Do stuff.
};
而我只是不再在方法调用中定义匿名类。
我想出了自己的代码最好的折衷办法,被缩进匿名类单跳格的水平,并把右括号在新行。
// Pass as parameter.
foo(new Clazz()
{
// Do stuff.
}
);
void func() {
foo(new Clazz()
{
// Do stuff.
}
);
}
// Assign to variable.
Clazz bar = new Clazz()
{
// Do stuff.
};
不是真的为我做。不管怎么说,还是要谢谢你。 – gdejohn 2011-01-19 01:44:49
Allman风格实际上是对齐{大括号},而不是所有的(括号)。我想如果你愿意,你可以自由地做这两件事,但它看起来像是一个问题的来源(如这个),没有明确的可读性回报。换句话说,一个逻辑恋物癖:-)
您可以按照指南http://mbreen.com/javastyle.html: “包含具有代码块声明的语句首先作为语句缩进”。我认为这会改变你的例子
foo (new Clazz()
{
// Do stuff.
});
Clazz bar = (
new Clazz()
{
// Do stuff.
});
你有什么不对?你为什么不喜欢它? – luke 2010-12-21 00:12:37
行结束符以任意位置结束,并且括号不是垂直对齐的(例如括住方法调用参数的括号),这违背了Allman风格的目的。 – gdejohn 2010-12-21 00:20:54