Piranha是一個(gè)自動重構(gòu)與陳舊標(biāo)志相關(guān)代碼的工具。在更高的層次上,該工具的輸入是標(biāo)志的名稱和預(yù)期的行為,在屬性文件中指定了與標(biāo)志相關(guān)的API列表。Piranha將使用這些輸入來根據(jù)預(yù)期的行為自動重構(gòu)代碼。
軟件特色
特征標(biāo)志通常用于逐步推出或試驗(yàn)新的特征。在少數(shù)情況下,即使完成了標(biāo)志的目的,與特征標(biāo)志相關(guān)的代碼也不會被刪除。我們把這種標(biāo)志稱為陳舊標(biāo)志。與陳舊標(biāo)志相關(guān)的代碼的存在會有以下缺點(diǎn)。
不必要的代碼雜亂增加了維護(hù)的整體復(fù)雜度,導(dǎo)致開發(fā)者的生產(chǎn)力下降。
這些標(biāo)志可能會干擾其他實(shí)驗(yàn)標(biāo)志(例如,由于嵌套在一個(gè)始終為假的標(biāo)志下)。
在源碼和二進(jìn)制中存在未使用的代碼。
過時(shí)的標(biāo)志也會導(dǎo)致錯(cuò)誤
這個(gè)資源庫包含四個(gè)獨(dú)立的Piranha版本,四個(gè)支持的語言各有一個(gè)。Java、JavaScript、Objective-C和Swift。
要使用/構(gòu)建每個(gè)版本,請?jiān)谙鄳?yīng)的[lang]/目錄下查找,并按照[lang]/README.md文件中的說明進(jìn)行操作。確保cd到該目錄下,按照README中的說明構(gòu)建任何相關(guān)代碼。