准备好工具:
- Xcode 8
- Git
注:下文中提及的重构相关专业术语,均与《重构》一书一致
建立Git版本管理
重构会改写代码,甚至代码结构,但并不保证重构后的代码能正常编译,因此在把一切弄的不可收拾之前,需要给自己一个救生圈,Git就是这样的工具,可以将目标代码复原。
- 转到目标工程的目录下,运行:
$git status
查看目标工程是否已经在git管理之下,如果返回:
说明当前工程没有配置Git。
- 逐条执行以下命令,建立版本库,并将文件都添加到版本库中
$git init
$git add .
- 最后提交当前版本:
$git commit -m "init" -a
- 这样,目标工程就置于Git版本管理之下了,需要恢复时运行:
$git checkout .
也可以使用Xcode 内置菜单(推荐):
Xcode 内置一键还原菜单工具1: Xcode 8 重构(Refactor)菜单
-
Rename
重命名
:顾名思义,用来重命名类、属性、方法以及局部变量名等等,它能够改写整个工程所有调用的地方,当改写类名时,会同步改好.h
和.m
文件的文件名,好像是一个智能的,基于调用上下文(有语义)的find and replace
查找替换工具。【注:Xcode8该功能只能替换.h
和.m
文件中的对象名,无法替换其它调用位置,Xcode7可以全部替换】 -
Extract
提炼
:可以将选择的代码片段转换成一个新的方法或函数,能自动生成参数和返回值,并调用新方法替换原来的代码片段。 -
Move Up
上移
将方法、属性或实例变量移到父类(super class)中。 -
Move Down
下移
:你可能以为下移
是上移
的反向操作,可以将方法、属性或实例变量移到子类中,但非常不幸,下移只能移动实例变量,因此并不是很实用! -
Encapsulate
封装
:当需要自定义set
和get
方法时,封装可以自动帮你生成。
工具2:在作用域中编辑
Edit All in Scope
^⌘E
(^
表示control键,下同)
工具3:跳转到定义处
Jump to Definition
^⌘J
等同 ⌘+鼠标点击变量名
,可以快速跳转到变量,方法,类的定义处,需要返回上一编辑处时Go back
^⌘<-
工具4:快速打开文件
Open Quickly
⇧⌘O
(⇧
表示Shift键)
这不同于一般的查找,支持在项目中全局搜索,同时支持文件名和代码,并可使用缩略词,建议代替查找工具,作为日常定位文件和定义的常用工具。
网友评论