首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

RefactoringGuru 代码异味和重构技巧总结

功能依赖 一个方法访问另一个对象数据多于它自己数据。 过度亲密 一个类使用另一个类内部字段和方法。 消息链 在代码中可以看到一系列类似于$a->b()->c()->d()调用。...移动方法 问题:一个方法在另一个类中使用次数多于在它自己类中使用次数。 解决方案:在使用该方法最多类中创建一个新方法,然后代码从旧方法移动到这里。...查询与修改分开 问题:是否有一个方法可以返回一个值,但也可以更改对象内部某些内容? 解决方案:将该方法分为两种不同方法。正如你所料,其中一个应该返回值,另一个则修改对象。...处理泛化 抽象有自己一组重构技术,主要关于沿着类继承层次结构移动功能、创建新类和接口、用委托代替继承以及相反。 上字段 问题:两个类具有相同字段。...解决方案:从子类中删除字段,并将其移动到超类。 上方法 问题:你子类具有执行类似工作方法。 解决方案:使方法相同,然后将它们移动到相关超类。

1.8K40

操作IDEA 这些命令就够了

操作IDEA 这些命令就够了 Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣讨论。每个人都有自己最爱,想排出个理想榜单还真是困难。...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知spring、hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构 Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

95650
您找到你想要的搜索结果了吗?
是的
没有找到

十大Intellij IDEA快捷键

大家好,又见面了,我是你们朋友全栈君。 Intellij IDEA中有很多快捷键让人爱不释手,stackoverflow上也有一些有趣讨论。每个人都有自己最爱,想排出个理想榜单还真是困难。...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构 Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

26620

IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!)

每个人都有自己最爱,想排出个理想榜单还真是困难。 以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲 Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构: Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构 -改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

10.4K50

IDEA 2019 最新最全快捷键终极大全!

每个人都有自己最爱,想排出个理想榜单还真是困难。 以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构 Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

99750

IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!)

每个人都有自己最爱,想排出个理想榜单还真是困难。  以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。 ...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。 ...2 重构Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

1.6K90

Idea 常用快捷键

每个人都有自己最爱,想排出个理想榜单还真是困难。 以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。...用F2/ Shift+F2移动到有错误代码,Alt+Enter快速修复(即Eclipse中Quick Fix功能)。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构: Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

94360

【方向盘】使用IDEA60+个快捷键分享给你,权为了提效(重构篇)

由于Java文件一般和class类名一样,因此重命名文件对应类名也会随着变化。...通过上面这张截图应该了然于胸了吧 Move Action Name Key Move… f6 移动静态方法、移动静态全局变量,将它从类A移动到类B。注意:移动对象必须是static静态。...比如:希望getSubList这个静态方法移动到另一个类里面。选中该方法,按下此快捷键: 填好To目的地类名,即可完成移动。...在我认为,一个coder需要提升,就应该“多多重构自己or别人代码,这时本文这套快捷键你值得拥有。 还是补上那句话:快捷键没有任何技巧性,练就完了!...下篇继续介绍Intellij IDEA实用快捷键。那,咱们还是下次再见!

72840

IntelliJ IDEA 快捷键终极大全,速度收藏!

每个人都有自己最爱,想排出个理想榜单还真是困难。 以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲 Ctrl+Shift+Enter 就能自动补全末尾字符。...最后要说一点,Intellij 能够智能感知 Spring、Hibernate 等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构: Intellij 重构是另一完爆 Eclipse 功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了 Intellij 配合简直是令人大呼过瘾!也正是强大智能和重构功能,使 Intellij TDD 开发非常顺畅。

97040

IDEA 快捷按键

每个人都有自己最爱,想排出个理想榜单还真是困难。 以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构: Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

87720

IntelliJ IDEA 2019 快捷键终极大全

每个人都有自己最爱,想排出个理想榜单还真是困难。 以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构 Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

2.6K30

IdeaVim 基本操作

文件中添加一行 :set clipboard=unnamedplus,unnamed 保存并退出 :wq 重启 IntelliJ IDEA Caps Lock 键映射为 Esc 键 到 Autohotkey...上面的操作都可以配合n使用,比如在正常模式下输入3h,则光标向左移动3个字符 快捷键 含义 0 移动到行首 $ 移动到行尾 ^ 移动到本行第一个非空白字符 n| 把光标移到递n列上 nG 到文件第n...行 :n 移动到第n行 :$ 移动到最后一行 H 把光标移到屏幕最顶端一行 M 把光标移到屏幕中间一行 gg 到文件头部 G 到文件尾部 翻屏 快捷键 含义 ctrl+f 下翻一屏 ctrl...+b 上翻一屏 ctrl+d 下翻半屏 ctrl+u 上翻半屏 ctrl+e 向下滚动一行 ctrl+y 向上滚动一行 n% 到文件n%位置 zz 当前行移动到屏幕中央 zt 当前行移动到屏幕顶端...zb 当前行移动到屏幕底端 文本插入 基本插入 快捷键 含义 i 在光标前插入 a 在光标后插入 I 在当前行第一个非空字符前插入 A 在当前行最后插入 gI 在当前行第一列插入 o 在下面新建一行插入

2.1K30

IntelliJ IDEA 快捷键终极大全 | 收藏

每个人都有自己最爱,想排出个理想榜单还真是困难。 以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构: Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

55610

IDEA 快捷键大全

每个人都有自己最爱,想排出个理想榜单还真是困难。 以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构 Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

1.1K10

IntelliJ Idea 常用快捷键 列表(实战终极总结!!!!)

每个人都有自己最爱,想排出个理想榜单还真是困难。  以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。 ...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。 ...2 重构Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

1.3K70

IntelliJ IDEA 2019 快捷键终极大全,速度收藏!

每个人都有自己最爱,想排出个理想榜单还真是困难。 以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构 Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

92920

IntelliJ IDEA 2019 快捷键开发手册,典藏版。

每个人都有自己最爱,想排出个理想榜单还真是困难。 以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。...当智能提示为我们自动补全方法名时,我们通常要自己补上行尾反括号和分号,当括号嵌套很多层时会很麻烦,这时我们只需敲Ctrl+Shift+Enter就能自动补全末尾字符。...最后要说一点,Intellij能够智能感知Spring、Hibernate等主流框架配置文件和类,以静制动,在看似“静态”外表下,智能地扫描理解你项目是如何构造和配置。...2 重构 Intellij重构是另一完爆Eclipse功能,其智能程度令人瞠目结舌,比如提取变量时自动检查到所有匹配同时提取成一个变量等。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

68050

IDEA和Eclipse常用快捷键

eclipse 常用 编辑 查看 窗口 导航 搜索 文本编辑 文件 项目 源代码 运行 重构 IDEA 常用快捷键 查询快捷键 其他快捷键 调试快捷键 重构 十大Intellij IDEA快捷键...,则反之) 下面的快捷键是重构里面常用,本人就自己喜欢且常用整理一下(注:一般重构快捷键都是Alt+Shift开头了) 快捷键 功能 Alt+Shift+R 重命名 (是我自己最爱用一个了,...每个人都有自己最爱,想排出个理想榜单还真是困难。 以前也整理过Intellij快捷键,这次就按照我日常开发时使用频率,简单分类列一下我最喜欢十大快捷-神-键吧。...推荐:Intellij Idea非常610个姿势! 用F2/ Shift+F2移动到有错误代码,Alt+Enter快速修复(即Eclipse中Quick Fix功能)。...尤其看过《重构-改善既有代码设计》之后,有了Intellij配合简直是令人大呼过瘾!也正是强大智能和重构功能,使IntellijTDD开发非常顺畅。

1.2K30

IDEA 2020.3 更新了,机器学习都整上了

之前拆分完成之后,左右两个窗口打开是同一份文件,我们还需要手动在左边切换文件。 现在 IDEA 提供了 Split and Move Right 功能,不用再额外操作切换。...另外我们还可以把终端窗口移到从最小方移动到上方编辑窗口。 ? 4、优化重构功能 这个版本简化了重构 Extract method 功能,无需重新打开一个新窗口声明方法名,方法变量等。 ?...另外这个版本重构 Rename 功能,还可以选择代码注释中字符串一块一起 Rename。 ?...最后我们还可以在调试器中进行基本内存分析: 第一个功能是 Show referring objects,用于查找从对象到 GC 根最短路径。...第二个功能是 Calculate retained size,用于计算对象保留大小并显示其保留集。 ?

74920
领券