javascript - 自動化重構方案與實踐

來源:互聯網
上載者:User
如何進行代碼的"自動化重構"
例如: 如何修改一下代碼的方法名及其的調用?

#!/usr/bin/env pythondef test():    test = 'test()'    print test[:-2]test()

注:
1. IDE一般都有這樣的功能, 這裡希望的是自動化完成批量的操作.
2. 這裡不考慮正則之類的方法, 例如代碼中的同名字串很容易會被替換掉.
3. 題主的實踐是使的用python-rope [https://github.com/python-rope/rope]
來重構, 但是只找到修改變數的方法. 有沒有有經驗的提供一下方法或者其他類似工具.
4. 不一定局限於python 重構其他語言的工具也可以分享一下.
5. 這裡的"自動化重構"是指, 不需要我手動進行操作. 當我編寫好重構規則, 即可批量對某些項目進行重構. 類似python-rope

回複內容:

如何進行代碼的"自動化重構"
例如: 如何修改一下代碼的方法名及其的調用?

#!/usr/bin/env pythondef test():    test = 'test()'    print test[:-2]test()

注:
1. IDE一般都有這樣的功能, 這裡希望的是自動化完成批量的操作.
2. 這裡不考慮正則之類的方法, 例如代碼中的同名字串很容易會被替換掉.
3. 題主的實踐是使的用python-rope [https://github.com/python-rope/rope]
來重構, 但是只找到修改變數的方法. 有沒有有經驗的提供一下方法或者其他類似工具.
4. 不一定局限於python 重構其他語言的工具也可以分享一下.
5. 這裡的"自動化重構"是指, 不需要我手動進行操作. 當我編寫好重構規則, 即可批量對某些項目進行重構. 類似python-rope

  1. 使用自動化重構類
    python-rope [https://github.com/python-rope/rope]

  2. 使用headless IDE
    eclim
    https://github.com/ervandew/eclim

我們通常用的是Jetbrains一系列的IDE,這一系列的IDE有WebStorm(JavaScript), Intellij(Java),Pycharm(Python)等,這些工具都內建重構功能。像在Intellij中就有下面的一些重構選項,可以參考一下Martin的《重構》一書。

然後,你需要的這個功能應該是Rename,快速鍵是Shift + F6

1.選中test()
2.按下Shift + F6會彈出對話方塊
3.輸入新的方法名
4.選擇部份,或者全部需要修改的內容。

實習的時候寫了一系列的文章介紹如何藉助IDE重構: ThoughtWorks 實習記——重構與Intellij Idea初探

用圖回複一下評論。。

重構自動化就是一個偽命題,要做自動化的時候,需要有明確的輸入,明確的輸出,期望的輸出,這樣你才能比較自動化的輸出和你期望的輸出是否一致

  • 相關文章

    聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.