我有很多的樣板代碼,基本上遵循這樣的模式:的Java註釋用於包裝方法
function doSomething() {
try {
[implementation]
[implementation]
[implementation]
[implementation]
} catch (Exception e) {
MyEnv.getLogger().log(e);
} finally {
genericCleanUpMethod();
}
}
我喜歡創建自己的註解清理我的代碼了一下:
@TryCatchWithLoggingAndCleanUp
function doSomething() {
[implementation]
[implementation]
[implementation]
[implementation]
}
方法簽名變化很大(取決於方法的實際實現),但樣本try/catch/finally部分總是相同的。
我想到的註釋會自動將註釋方法的內容與整個try...catch...finally
混淆。
我搜索了一個簡單的方法來做到這一點,但沒有找到任何東西的高和低。我不知道,也許我無法看到所有註釋樹木的樹林。
任何關於如何實現這樣的註釋的指針將不勝感激。
對我來說這似乎不需要註釋;你可以只傳遞定義'implementationOfDoSomething()'和(可能的話)'genericCleanUpMethod()'的實現作爲'doSomething()'的參數,在try/catch/finally中調用它們,然後調用'doSomething ()'什麼時候需要模板邏輯? – 2011-12-28 15:46:49
你的答案在於AOP,你研究過這個嗎? – smp7d 2011-12-28 15:49:29
我的理解是他有同樣的try/catch /最終跨越多種方法。所以不只是一個doSomething,而更像doSomething1,doSomething2,......所有這些都是同樣的try/catch/finally,他想要提取到註釋 – jeff 2011-12-28 15:50:04