Android Studio中的常用提高效率的重构小工具介绍

还是因为工作原因,遇到了一个刚入门的小盆友。昨天下午我看着他对着工程吭哧吭哧折腾了好久,好奇过去看看,原来是他写的一个方法把feature写成了fature,还在整个项目各个位置调用方法,由于偷懒,该方法涉及的成员变量、局部变量也都Ctrl-C,Crtl-V成了fature,所以他不亦乐乎的自己玩了一下午。
虽然疫情导致大家需求都不紧了,能够找点事儿填补一下时间也挺好的,但是有这功夫,刷个leetcode不好么。遂给他演示了几个AS常用的重构工具。

改名

首先是最常用的功能——改名。
使用方法是将光标放置在所想要修改的对象、方法上,右键唤出菜单,选择Refactor-Rename。将想要修改的结果输入其中,然后回车,就可以完成改名,并同步修改依赖其的地方,十分方便。在windows系统里快捷键是shift+F6,严重建议记住这个快捷键,当没活儿干又想提交代码时,可以用这个修改代码规范问题。

另外如果想要改包名和类,可以在目录侧找到想要改名的目录或者文件,同样右键Refactor-Rename即可完成改名。

抽象方法

抽象方法通常用在在第一遍草草写完业务后,整理代码时非常实用的一个工具。通常圈住3-5行逻辑块然后,右键Refactor-Extract Method

有赋值的IDE会智能的帮你决定返回值类型并定义传入参数,比如像下面这段代码,他就会自动抽象为getView()

抽象前
AlertDialog.Builder alertDialog = new AlertDialog.Builder(activity, R.style.Theme_AppCompat_Dialog);
View view = View.inflate(activity, R.layout.layout_dialog, null);
mDialog = alertDialog.setView(view).create();
mDialog.setCancelable(false);
抽象后
View view = getView(activity);

private View getView(Activity activity) {
   AlertDialog.Builder alertDialog = new AlertDialog.Builder(activity, R.style.Theme_AppCompat_Dialog);
   View view = View.inflate(activity, R.layout.layout_dialog, null);
   mDialog = alertDialog.setView(view).create();
   mDialog.setCancelable(false);
   return view;
}
抽象变量

抽象变量的玩法就比较多了,可以抽象局部变量、成员变量、常量、入参等。他的用法同样是选中想要抽象的代码,右键Refactor-红框中这四个,其中抽象常量(Introduce Constant...)最常用,一般的代码规范都会要求魔鬼数字,在review代码时,看到硬编码的数字、字符串顺手一个抽象,在命个名。好的代码习惯就是这么点滴形成的。

快速插入

虽然这个不是重构工具,但也是Android Studio的一个很有用的工具,能够给开发者节省海量工作。比如在写模型类时,会有很多私有变量想要暴露出去,这时候我们就需要构造大量的get()set()方法,用快速插入就可以一键搞定。除了这个,还能够插入构造方法、哈希和判等、toString()等很多常用方法。快捷键是Alt+Insert,裂墙建议记住。

#### TODO 逐个修改实在是太费神费力,还有出错风险,不如使用IDE的重构工具来搞,省心放心。至于何时重构,怎么重构,可以认真学习一下Martin Fowler 的《重构 改善既有代码的设计》一书。
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

kiba_zwei

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值