重構代碼,是我們在做項目過程中總會出現的。不管是重構別人的代碼,還是重構自己的代碼,有時總會讓人很痛苦又愜意。藉助IDE的整合功能,一般我們能把其中的痛苦降低些,以前常用eclipse的重構功能來改java的代碼。現在常用xcode來做程式,當然要找找xcode上的重構功能啦。很慶幸,apple的產品一般是比較給力的,讓我們在愜意中開始來重構代碼!
一般在開始重構之前,我們當然是要備份的啦,要是改著改著程式突然莫名其妙地掛了,又找不錯誤的地方,這時侯如果我們回不到重構之前的狀況,那就會讓人很淚奔的!所以,xcode給了我們一套保險套餐!----Make Snapshot----也許會讓你想起VMware,對,這就是快照!
xcode菜單,選擇File-Make Snapshot,Xcode會記住項目當前的狀態,現在開始,你就可以隨心所欲地重構自己的代碼了。如果你發現代碼被你改得面目全非?!沒關係,我們還可以重來一次,選擇File-Snapshot,又回到你做快照的那一刻!
如果發現提示:Snapshot Failed:A project snapshot cannot be created.這是神馬錯誤?不要慌,這時候有可能是一個磁碟鏡像檔案被損壞了,它是用來儲存快照滴,所以請到:~/Library/Application Support/Developer/Shared/SnapshotRepository.sparseimage。把這個鏡像檔案刪掉,然後重啟xcode。
備份完,我們才能開始放心的重構!
一般我會採用三種方式來交叉協助重構;
第一
,當然是我們的老相識:Find and Replace
;這個功能貌似到哪都有,童鞋們追溯到windows下的文字編輯器哦。Edit-Find (command+F),接著,找到並替換就行了。
第二
,是Edit all in Scope
這個功能,這個功能就強大了,而且比較酷,適合進行大批量的修改變數和方法;選定一個想要修改的字串,然後選擇Edit-Edit all in Scope,然後在你輸入的時候,所有該字元出現的地方都進行同步更改,看起來很cool的。
注意一點
:如果選取了一個字串然後這個功能仍被禁止,很有可能是跟你xcode的色彩配置有關,比如像我這種自己改的配色;所以當它謝絕工作時,你可以試著更改一下配色!
第三
,最強大的一個功能了,以上兩個功能都有一個缺陷,不能重構類!我們可以重構量名,方法名,當是卻無法重構類名,如果硬要改的話,就得一個檔案一個檔案的修改,這樣萬一遺漏了某個檔案裡的修改,就比較蛋疼了。還好xcode為我們提供了Refactor
,在其他IDE裡面也常有這個功能,不過在xcode裡面就顯得更加性感些了~~首先,選擇一個要修改的類名,選擇Edit-Refactor,在彈出下面的框裡,變更,然後點擊preview按鈕,一般建議勾選上snapshot。
然後再點擊那個發生修改的檔案,出現下方的對比代碼文本。
這樣,我們就可以完成在多個檔案重構類名了。很輕鬆搞定,不是嗎?