我正在四處尋找一種方法來在完整的Java應用程序上執行批重構。在這種情況下,使方法爭論最終在哪裏不是這種情況。批量重構,使Java方法參數最終
是否有人在這裏知道這樣的工具?或者解析Java源代碼並可以通過這些更改進行擴展。
我正在四處尋找一種方法來在完整的Java應用程序上執行批重構。在這種情況下,使方法爭論最終在哪裏不是這種情況。批量重構,使Java方法參數最終
是否有人在這裏知道這樣的工具?或者解析Java源代碼並可以通過這些更改進行擴展。
你可以做的IntelliJ批量改改各個領域,局部變量或參數可以是最終成爲決賽。
做一個代碼分析的選項,「應用修復」在全球範圍,確保它仍然編譯,因爲它並不總是得到它在多宗100%正確。
酷!也許我應該給IntelliJ一個機會。我還沒有到目前爲止,因爲它有一個檢查SVN的東西的問題。 –
非常感謝你! :-) –
我不知道在Eclipse或NetBeans的任何這樣的重構。但一個體面的正則表達式取代會做伎倆。爲了確保您不會在不應發生的地方意外執行此操作,您可能需要手動確認每次更換。但是,如果您擁有數百個課程,這可能並不可行。在那種情況下,在任何地方進行替換,然後使用舊版本檢查差異可能會有用。
如果任何參數沒有進行總決賽,因爲被覆蓋,在編譯過程中它會變得清晰。
Netbeans 7.1beta啓動了一項名爲「檢查和變換」的可比較的事情。例如,已經可以刪除未使用的導入語句。我想這也是時間問題了。 –
@JanGoyvaerts有趣!更強大的重構總是很好。關於未使用的進口,快速ctrl + shift +我應該修復進口,包括刪除未使用的進口。我知道它至少在7.0.1中這樣做。 –
正如Peter Lawrey所說,IntelliJ會這樣做。
分析 - >檢查代碼 - >自定義配置文件
在那裏, 「代碼作風問題」 一節中,你有:
字段可以最終
This inspection reports any fields which may safely be made final. A static field may
be final if it is initialized in its declaration or in one static class initializer, but
not both. A non-static field may be final if it is initialized in its declaration or in
one non-static class initializer or in all constructors.
Powered by InspectionGadgets
地方變量或參數可以是最終
This inspection reports parameters or local variables, found in the specified inspection
scope, that may have a final modifier added.
Use check boxes in the inspection options below, to define whether parameters or local
variables (or both) are to be reported.
這樣做只會讓最終的變量安全可靠,但你試圖發現的變量將保持非最終狀態。不過,這是一種發現它們的方法。
出於興趣,背後的想法是什麼? – NPE
@aix這似乎不是必要的,說實話它不是。但我也採用了這種風格。它可以防止意外重新分配方法參數。大多數情況下,這不會是一個問題,但將爭論最終確定是一點點努力。另外,如果一個參數不是最終的,而其他所有的參數都是一致的,那麼立即清楚你打算重新分配這個參數(例如,用它的修剪版本替換一個String)。 –
我對這個想法表示同情,但我的方法通常很小,只是額外的噪音。我嘗試了一段時間,但放棄了 - Java已經夠難讀了。 –