Xcode8 五分鐘重構(gòu)起步

準備好工具:

  • Xcode 8
  • Git
    注:下文中提及的重構(gòu)相關(guān)專業(yè)術(shù)語,均與《重構(gòu)》一書一致

建立Git版本管理

重構(gòu)會改寫代碼,甚至代碼結(jié)構(gòu),但并不保證重構(gòu)后的代碼能正常編譯,因此在把一切弄的不可收拾之前,需要給自己一個救生圈,Git就是這樣的工具,可以將目標代碼復原。

  1. 轉(zhuǎn)到目標工程的目錄下,運行:
$git status

查看目標工程是否已經(jīng)在git管理之下,如果返回:



說明當前工程沒有配置Git。

  1. 逐條執(zhí)行以下命令,建立版本庫,并將文件都添加到版本庫中
$git init
$git add .
  1. 最后提交當前版本:
$git commit -m "init" -a
  1. 這樣,目標工程就置于Git版本管理之下了,需要恢復時運行:
$git checkout .

也可以使用Xcode 內(nèi)置菜單(推薦):

Xcode 內(nèi)置一鍵還原菜單

工具1: Xcode 8 重構(gòu)(Refactor)菜單

  • Rename 重命名:顧名思義,用來重命名類、屬性、方法以及局部變量名等等,它能夠改寫整個工程所有調(diào)用的地方,當改寫類名時,會同步改好.h.m文件的文件名,好像是一個智能的,基于調(diào)用上下文(有語義)的 find and replace 查找替換工具?!咀ⅲ篨code8該功能只能替換.h.m文件中的對象名,無法替換其它調(diào)用位置,Xcode7可以全部替換】
  • Extract 提煉:可以將選擇的代碼片段轉(zhuǎn)換成一個新的方法或函數(shù),能自動生成參數(shù)和返回值,并調(diào)用新方法替換原來的代碼片段。
  • Move Up 上移 將方法、屬性或?qū)嵗兞恳频礁割悾╯uper class)中。
  • Move Down 下移:你可能以為下移上移的反向操作,可以將方法、屬性或?qū)嵗兞恳频阶宇愔?,但非常不幸,下?strong>只能移動實例變量,因此并不是很實用!
  • Encapsulate 封裝:當需要自定義setget方法時,封裝可以自動幫你生成。

工具2:在作用域中編輯

Edit All in Scope ^?E^表示control鍵,下同)

在作用域中編輯

工具3:跳轉(zhuǎn)到定義處

Jump to Definition ^?J 等同 ?+鼠標點擊變量名,可以快速跳轉(zhuǎn)到變量,方法,類的定義處,需要返回上一編輯處時Go back ^?<-

工具4:快速打開文件

Open Quickly ??O?表示Shift鍵)
這不同于一般的查找,支持在項目中全局搜索,同時支持文件名和代碼,并可使用縮略詞,建議代替查找工具,作為日常定位文件和定義的常用工具。

支持縮略詞查找

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,039評論 25 709
  • 雨露初醒的清晨,天山相接的云端,山巒疊翠,郁郁蔥蔥。這里,是全國農(nóng)村“三變”改革的發(fā)源地;這里,是江南煤都...
    泡面寶寶閱讀 1,520評論 0 2
  • 最近有太多的無奈,太多的不自由,心累,但我還是會努力發(fā)現(xiàn)生活中一點兒一點兒的美好。
    池淚閱讀 253評論 0 0
  • 牛逼的Redis (REmote DIctionary Server, 遠程字典服務(wù)器。):是開源的、高性能的、基...
    陳走路Aston閱讀 311評論 0 2
  • ”我保證,以后盡量不遲到!“餃餃的檢討書上寫的。 餃餃一直有自知之明,自己從來不是個乖學生,可怎么發(fā)展成的叛逆少年...
    五可因閱讀 1,111評論 0 45

友情鏈接更多精彩內(nèi)容