Rephactor和Scisr都是PHP的自動重構工具。兩者都在開發中並提供相同的重構功能。任何人都可以告訴我兩種工具的確切區別嗎?Rephactor和Scisr PHP重構工具有什麼區別?
回答
我寫了Scisr,所以也許我可以提供一些見解。簡而言之,他們只是不同的工具。它們每個都有一個功能子集,您可能會發現它們都有一個,或者都沒有提供您希望的確切功能。每個人都提供了開發人員實施的一系列功能 - 即有些不完整。
答案越長(並且稍微有點偏向),它們在哲學上就有所不同。幸運的是,這兩種工具都提供了一些介紹性的概念,可以讓您瞭解每個開發人員創建的內容。 Here is Rephactor's和here is Scisr's。
我嘗試了所有我能找到的PHP重構工具(包括rephactor)並且對所有這些工具感到不滿意,之後我寫了Scisr。 rephactor絕對是我嘗試過的所有工具中最有用的,但我認爲它提出了太多要求 - 它想要掛鉤到SVN,測試工具以及各種其他的東西。這些都是要遵循的良好流程,但是需要整合意味着我無法選擇該工具並立即將其用於我的項目。所以我開始着手寫一個更簡單的單一用途工具,而Scisr誕生了。
IIRC我也查看了rephactor的源代碼,發現它使用正則表達式和其他我認爲不足的解決方案。不過,我可能會誤解,所以請原諒這個聲明中的任何不真實。
另一個考慮因素應該是產品健康。不幸的是,這兩個項目或多或少都不活躍。 Scisr最近更新了,而且我仍然接受pull請求,但我現在不再積極地處理它。 Rephactor最後更新於2009年。
我同意伊恩關於構建重構工具的「正則表達式」[是的,Rephactor使用正則表達式]是不充分的(很難描述它是如何不足)。我很高興聽到Scisr不使用正則表達式。那麼它使用什麼? –
@IraBaxter,它使用[PHP標記器](http://www.php.net/manual/en/intro.tokenizer.php),所以它實際上是解析你的代碼,並可以在該級別操作它(如果你想爲了獲得具體的,我實際上在拉[PHP_CodeSniffer](http://pear.php.net/package/PHP_CodeSniffer),因爲它加強了我喜歡的一些額外功能的標記器。 –
- 1. php cli和php cgi有什麼區別?
- 2. php 4和php 5有什麼區別?
- 3. php 5.3和php 4.9有什麼具體區別?
- 4. 構建和部署有什麼區別?
- 5. 構建和補丁有什麼區別?
- 6. PHP和Java有什麼區別?
- 7. <?有什麼區別?和<?php
- 8. JSP,PHP,HTML5和JavaScript有什麼區別?
- 9. PHP中。=和+ =有什麼區別?
- 10. PHP中sys_temp_dir和upload_tmp_dir有什麼區別?
- 11. Php:|有什麼區別?和||運營商
- 12. 在PHP中!==和!=有什麼區別?
- 13. PHP header和Javascript window.location有什麼區別?
- 14. PHP中'isset()'和'!empty()'有什麼區別?
- 15. PHP中的 - >和::有什麼區別?
- 16. phpinfo();有什麼區別?和php -i?
- 17. javascript和PHP cookies有什麼區別?
- 18. 工會和文本有什麼區別?
- 19. Springsource工具中src/main/java和src有什麼區別
- 20. 小工具和應用程序有什麼區別?
- 21. 發佈工具和索引處理程序有什麼區別?
- 22. Liferay Portal中Portlet和小工具之間有什麼區別
- 23. Visual Studio中的「構建」和「重建」有什麼區別?
- 24. 使用PyCharm重構時,Remove和Exclude之間有什麼區別?
- 25. Android開發中的平臺工具和SDK工具有什麼區別?
- 26. 有什麼區別`和$(Bash中有什麼區別?
- 27. PHP重構工具
- 28. PHP重構工具
- 29. 重新設計和逆向工程有什麼區別?
- 30. 有什麼區別? :和||
1.它們有不同的名稱。 –
有關PHP重構工具的討論,請參閱http://stackoverflow.com/q/19758/120163。 –