假設我具有以下定義:如何爲大多數編輯器摺疊類實現的代碼?
namespace test
{
class Test1
{
void someMethod(double a);
void someOtherMethod(double a);
//...
};
class Test2
{
void someMethod(double a);
void someOtherMethod(double a);
//...
};
}
下面是一個示例實現中(方法1):
namespace test
{
// Test1
// ----------------
void Test1::someMethod(double a){
// do something
}
void Test1::someOtherMethod(double a){
// do something else
}
// Test2
// ----------------
void Test2::someMethod(double a){
// do something
}
void Test2::someOtherMethod(double a){
// do something else
}
}
下面是一個替代實施方案(方法2):
// Test1
namespace test
{
void Test1::someMethod(double a){
// do something
}
void Test1::someOtherMethod(double a){
// do something else
}
}
// Test2
namespace test
{
void Test2::someMethod(double a){
// do something
}
void Test2::someOtherMethod(double a){
// do something else
}
}
通常方法2的實現方式是通過方法1.方法2的結果是每個類的所有實現代碼都可以在許多編輯器中被摺疊,af我很喜歡的特質。
我想知道是否有更好的方法來做到這一點,例如,不必爲每個新類重新打開名稱空間?我試過這個:
{
void Test1::someMethod(double a){}
}
{
void Test2::someMethod(double a){}
}
但這不起作用(因爲我不完全明顯的原因,我不得不承認...)。除了使代碼可摺疊以外,還有什麼有效的,類似的,沒有任何效果?
很顯然,它應該儘可能的便攜並且不依賴於任何特定的編輯器。
由於是「代碼摺疊」沒有標準,我不認爲有肯定的答案。但是,如果您告訴我們您希望可摺疊性工作的編輯人員,有人可能會找到解決方案。 – Mesop
簡單的大括號在Code :: Blocks中工作,但不在Visual Studio中(我試過)。 –
@olchauvin:嗯,我大部分時間都在使用Geany,但是,我相信大多數(所有?)編輯器都能夠在某種「結束」構造上摺疊觸發器。這可以是大括號(C/C++/Java/...),縮進結尾(Python),明確的「結束」關鍵字(Matlab/Octave/Fortran/...)。我正在尋找C/C++/Java版本,所以至少需要一個開始和結束大括號。 –