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++; } |