[英]Hard coding of refactoring move and extract method, parsing class and its references?
目前,我正在研究重構任務及其優先級。 我需要檢查每個任務的效果(例如,移動方法,提取方法,刪除方法),並在類和項目級別進行一些計算。
在代碼級別手動處理這些任務的最佳方法是什么?
我正在考慮在其主應用程序之上構建Eclipse插件,該應用程序打開重構菜單並進行重構任務,但它似乎不是很好的方法,我需要與每個類的代碼更緊密的關系。
另一方面,我正在考慮構建一個解析每個類及其引用的插件,然后執行ref。 解析時的任務? 這種方法對我來說似乎更合適,因為我需要自動化流程並進行一些計算。
編程/編碼重構任務(移動,提取和刪除方法)的常用方法是什么? 我正在研究Java。
你有點不清楚你要做什么。 使用Eclipse JDT,存在運行手動重構的API: http : //help.eclipse.org/mars/index.jsp? topic =%2Forg.eclipse.jdt.doc.isv%2Freference%2Fapi%2Forg%2Feclipse% 2Fjdt %2Fcore%2Frefactoring%2FIJavaRefactorings.html
我看過一篇研究論文,描述了這些因素對功耗的影響。
否則,您可以查看AutoRefactor以獲取有關如何使用JDT進行重構的示例。 免責聲明:我是AutoRefactor的作者。
最通用的重構工具是程序轉換系統(PTS) 。 這些工具可以讀取源代碼,構建表示代碼的編譯器數據結構(通常是AST),允許對這些結構進行自定義修改,然后可以從修改后的結構中重新生成代碼。
好的PTS可以配置為處理任意語言,並允許您使用目標語言的表面語法編寫源到源轉換的代碼轉換,格式如下:
when you see *thispattern*, replace it by *thatpattern* if *condition*
這些工具可以在小型甚至架構代碼更改或大型遷移中執行任意代碼重構。
[見其中一個的生物]。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.