Remove Useless Expression作用是移除本文件内的一个无用表达式。
1. 同样是将光标移动到表达式开头,输入命令:CRefactor rmexpr执行;
2. 执行结果是将这个表达式及包含这个表达式的语句删除,例如对于如下语句
12 if ( a < b ) {
13 printf("a is less than b\n");
14 }
15 else if ( a > b ) {
16 printf("a is greater than b\n");
17 }
18 else if ( a == b ) {
19 printf("a is equal to b\n");
20 }
21 else printf("error \n ");
只能在第一个if(a<b)条件判断处,把光标移动到a前面,然后才能成功转换。其他任何位置都会报错,而且转换后会将所有的else-if连同else分支(即上面整块的if-else if-else语句)删除。
下面说说选择表达式时的一些注意事项。
1. 光标需要放在表达式第一个字母处,才能转换,否者报错;
2. 能被作为表达式的语句有
1) 变量,函数
2) 算术运算表达式 (+ - * /);
3) 比较运算表达式(< > != <= >=);
4) 赋值表达式(=);
到这里,总结一下前面五小节内容。
总结:所有的转换都是在本文件内进行的。对于同一变量/函数被不同文件使用,应该时能探测到的。但是按照目前测试结果来看,变量是不能跨文件重命名的,对于函数而言,则会产生错误。