CLion教程-解除封装和移除语句

对于C++,此重构会安全地解除if...else
、for
、while
、do...while
和try...catch
控制语句,或者准确地移除嵌套语句的封装部分。
除了C++之外,"解除封装/移除"操作适用于以下语言:
- Objective-C/C++
- Python
- JavaScript:if ...else、for、while和do...while控制结构。
- XML和HTML标签。
解除封装或移除语句
- 将光标放置在要解除封装或移除的表达式上。
- 从主菜单中选择Code | Unwrap/Remove,或按CtrlShiftDelete。CLion会显示一个弹出窗口,其中列出了当前上下文中可用的所有操作。要在解除封装后保留的语句显示为蓝色背景,要移除的语句显示为灰色背景。
- 单击所需的操作,或使用上下箭头键选择并按Enter键。
不同语言中的示例,显示了语句解除封装的情况:
C/C++
Objective-C/C++
在此之前 | 在此之后 |
---|---|
@implementation SClass - (int)sqrV { if (v != 0) return v * v; else // 这个 'else' 语句将被移除 return 0; } @end | @implementation SClass - (int)sqrV { if (v != 0) return v * v; } @end |
Python
在此之前 | 在此之后 |
---|---|
count = 0 # 这个 'while' 语句将被解除封装 while True: print(count) count += 1 if count >= 5: break | count = 0 print(count) count += 1 if count >= 5: break |
JavaScript
在此之前 | 在此之后 |
---|---|
function GetCookie (name) { var arg = name + "="; var alen = arg.length; var i = 0; // 这个 'while' 语句将被解除封装 while (i != document.cookie.length) { var j = i + document.cookie.length; i++; } } | function GetCookie (name) { var arg = name + "="; var alen = arg.length; var i = 0; var j = i + document.cookie.length; i++; } |