WHAT
如果只有一个then,而没有else的分支条件表达中,出现否定操作符,还算合情合理,例如:
if (!someCondition()) {
doSomeThingsForFalse();
}
但是,如果有两个分支,否定的条件表达式在if分支,这个条件语句就会降低可读性,需要颠倒条件表达式
WHEN
- 否定操作在前一个分支的if、then、else语句
HOW
重构前的代码
package reverse.conditional;
public class SomeClass {
public void someMethod() {
if (!someCondition()) {
doSomeThingsForFalse();
} else {
doSomeThingsForTrue();
}
}
private boolean someCondition() {
return false;
}
private void doSomeThingsForTrue() {
// do some things for true
}
private void doSomeThingsForFalse() {
// do some things for false
}
}
这个重构,需要手动操作,没有Eclipse现有重构工具的支持
- 去除条件表达式的否定操作符
- 交换分支语句
重构后的代码
package reverse.conditional;
public class SomeClass {
public void someMethod() {
if (someCondition()) {
doSomeThingsForTrue();
} else {
doSomeThingsForFalse();
}
}
private boolean someCondition() {
return false;
}
private void doSomeThingsForTrue() {
// do some things for true
}
private void doSomeThingsForFalse() {
// do some things for false
}
}
分享到:
相关推荐
$ composer require niklongstone/regex-reverse: ' ^0.4.0 ' 用法 <?php require ( 'vendor/autoload.php' ); use RegRev \ RegRev ; echo RegRev :: generate ( '\d' ); //ouput a random number 有关有用的...
Mastering Reverse Engineering
reverse c++
iOS App ReverseEngineering
NSString-Reverse-Polish-Notation 此类别允许您评估中缀/后缀符号表达式,将中缀符号表达式转换为后缀表达式。 ###例子: 要评估“(2.4+7.1)*3.1/3^2-(1.2^4.3+6^3)”的中缀符号表达式: NSString * infixExp = ...
Android Reverse Tethering是个不错的选择!轻松通过一条USB线帮助手机上网! 首先请注意:* C9 f6 d$ R: [# M+ P ①设备需ROOT; ②确保电脑上有你设备的usb驱动(仅windows系统); ③确保【USB调试】已开启...
CTF逆向(reverse)入门脑图,xmind格式文件。Reverse即逆向工程,题目涉及到软件逆向、破解技术等,要求有较强的反汇编、反编译扎实功底。主要考查参赛选手的逆向分析能力。 仅供CTF竞赛参考使用,请不要做违法乱纪...
Advanced Apple Debugging & Reverse Engineering, Second Edition ISBN: Learn the powerful secrets of Apple’s software debugger, LLDB, that can get more information out of any program than you ever ...
Reverse Engineering 逆向工程经典资料
practical reverse engineering
bios reverse engineering collected works !chrysanthemum
reverse.rar 反向连接 教程 源码
Reverse Engineering for Beginners English Version Reverse Engineering for Beginners English Version
反编译工具Android-reverse
外文名: Reverse Polish Notation 别名: 后缀表达式 逆波兰表达式又叫做后缀表达式。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,这种表示法也称为中缀表示。波兰逻辑学家J.Lukasiewicz于1929...
Hibernate_Reverse_Engineering详细描述
即时通讯DWR Reverse Ajax
逆序reverse_iterator打印 /* 编写一段程序,用普通迭代器顺序打印一个vector,再用逆序reverse_iterator打印一个它 */
信息安全Reverse学习资料:测试题目;入门指导;学习资料。