關於如何使用匿名類的建議,同時保持與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