|
在軟件工程學(xué)里,重構(gòu)代碼一詞通常是指在不改變代碼的外部行為情況下而修改源代碼。軟件重構(gòu)需要借助工具完成,而重構(gòu)工具能夠修改代碼同時(shí)修改所有引用該代碼的地方。本文收集了五款出色的php代碼重構(gòu)工具,以幫助你完善更加優(yōu)秀的項(xiàng)目。
1. Rephactor
Rephactor是一款命令行重構(gòu)工具,這是一款自動(dòng)化工具,允許開(kāi)發(fā)者以一種簡(jiǎn)潔的方式在不同的代碼庫(kù)中修改源碼。
主要功能:
保證重構(gòu)的可逆性―― 一旦發(fā)現(xiàn)問(wèn)題,代碼是可逆的,可以回溯到前一個(gè)版本。
查找替換功能―― 普通查找替換,方法重命名,類(lèi)重命名,正則表達(dá)式模式的替換。
所有操作完成后,均基于SimpleTest Aperiplus進(jìn)行測(cè)試,并保證測(cè)試的覆蓋率。
集成Phemto ,保證類(lèi)的相關(guān)性測(cè)試。
2. Scisr
Scisr是一款利用php編寫(xiě)的重構(gòu)工具。項(xiàng)目托管在GitHub上。基于GPL許可證下發(fā)行。
使用方法:
類(lèi)的重命名:
復(fù)制代碼 代碼如下:
$ scisr rename-class OldName NewName [files]
修改方法:
復(fù)制代碼 代碼如下:
$ scisr rename-method OwningClassName oldMethodName newMethodName [files]
文件重命名:
復(fù)制代碼 代碼如下:
$ scisr rename-file old/file_name new/dir/new_file_name [files]
重命名類(lèi)和文件:
復(fù)制代碼 代碼如下:
$ scisr rename-class-file OldClassName NewClassName [files]
3. php Refactoring Browser
這是一款php 代碼的重構(gòu)工具,通過(guò)生成diffs來(lái)描述重構(gòu)的步驟,避免重構(gòu)過(guò)程中的簡(jiǎn)單錯(cuò)誤,該工具非常棒。項(xiàng)目托管在GitHub上。
使用庫(kù):
php Parser by Nikic
php Token Reflection from Ondřej Nešp
重構(gòu)瀏覽器數(shù)據(jù)主要包含以下幾個(gè)方面:
補(bǔ)丁――支持基于更改文件操作創(chuàng)建補(bǔ)丁;
重構(gòu)――包含實(shí)際重構(gòu)域和適配第三方庫(kù);
集合――基于php數(shù)組可靠添加集合語(yǔ)義。目前包含一組類(lèi)型。
4. phpStorm
phpStorm是由JetBrains公司開(kāi)發(fā)的一款php IDE富應(yīng)用,同時(shí)支持重構(gòu)。phpStorm可隨時(shí)幫助用戶(hù)對(duì)其編碼進(jìn)行調(diào)整,運(yùn)行單元測(cè)試或者提供可視化調(diào)試功能。
目前,發(fā)布了phpStorm 7版本,新版本支持php5.5;改進(jìn)php語(yǔ)法著色性能;Vagrant、SSH 控制&遠(yuǎn)程工具;支持Drupal & php框架;改進(jìn)調(diào)試和測(cè)試性能。
phpStorm的主要特性:
智能php編碼編輯器;
代碼質(zhì)量分析;
支持調(diào)試/測(cè)試;
支持HTML/CSS/JavaScript編輯器;
支持跨平臺(tái)。
5. Zend Studio
Zend Studio是Zend Technologies開(kāi)發(fā)的php語(yǔ)言集成開(kāi)發(fā)環(huán)境。支持HTML和JS標(biāo)簽,但只對(duì)php語(yǔ)言提供調(diào)試支持。
主要特性:
具備功能強(qiáng)大的專(zhuān)業(yè)編輯工具和調(diào)試工具;
支持php語(yǔ)法高亮顯示、語(yǔ)法自動(dòng)填充功能,支持語(yǔ)法自動(dòng)縮排和代碼復(fù)制功能;
支持書(shū)簽功能;
內(nèi)置一個(gè)強(qiáng)大的php代碼調(diào)試工具;
支持本地和遠(yuǎn)程兩種調(diào)試模式,支持多種高級(jí)調(diào)試功能。
php技術(shù):五款PHP代碼重構(gòu)工具推薦,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。