簡體   English   中英

Java的重構/重構工具

[英]Refactoring/Restructuring tool for Java

我有一個龐大的單片Web應用程序,我打算拆分成更小的模塊。 作為第一步,我想更改當前的包層次結構:

 - com.companyname.project
  - dao
     - bean
         - booking // possibly containing more sub packages
         - core   
         ... etc etc (there are a bunch of others as well)
     - service
         - booking // possibly containing more sub packages
         - core   
         ... etc etc  
  - logic
     - bean
         - booking // possibly containing more sub packages
         - core   
         ... etc etc
     - service
         - booking
         - core   
         ... etc etc
  - web
     - bean  // same substructure as above...
     - service  // same substructure as above...
     - taglib  // same substructure as above...
     - util

如果用於實例booking的包結構作為com.companyname.project下面的包名稱,我希望如此

現在我想知道是否有一個工具可以使用一個簡單的正則表達式為我做重組。

例如
com.companyname.project.dao.bean.booking
會成為:
com.companyname.project.booking.dao.bean

com.companyname.project.dao.service.booking
會成為:
com.companyname.project.booking.dao.service

我可以使用Eclipse並拖放包,但是我正在尋找能夠以最小的參與度完成此任務的東西,因為它將是非常重復的。

您可以使用任何具有重構兼容性的Java IDE:

  • IntelliJ IDEA(最好的重構支持)。 它有開源社區版和封閉源終極版。
  • Eclipse(開源)
  • NetBeans(開源)

我不建議你使用regexp search / replace,因為它容易出錯。

為什么不使用Java本身? 我相信您當前的場景,您可以輕松編寫一個小型Java程序來執行您正在討論的確切重構,並確保在此過程中不會遺漏任何內容。

你可以寫一個方法,取“pre”(即“com.companyname.project.dao.bean.booking”)和“post”(即“com.companyname.project.booking.dao.bean”)參數並復制“預”結構適當地進入“后”結構。

在這個程序中,我設想了一個主方法和一個“convertPackage(pre,post)”方法。 然后,您可以擁有一個“pre”和“post”結構的數組,並循環將它們轉換為new。 最好將此復制到某種臨時目錄中,而不是將原始目錄復制為附加的安全措施。

也許我的想法太簡單了,但是我可以看到一個程序是為了在一天半或更短的時間內完成這個重構。

do it right for you or may not... 您將獲得額外的好處,即准確了解正在發生的變化,而不是這些自動化工具帶來的不安全因素,這些工具適合您或可能不適合......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM