求助帖:后知后觉的思考之程序优雅性

Mac_john 2015-03-20 12:44:36
[size=13px]这几天在改前人的代码的时候发现代码中包含大量的if else 语句,且层层嵌套,看了下逻辑都是正确的,但是看着这么多的代码总是觉得心慌,所以想问问怎么做可以减少使用if else,是程序看起来更优雅。[/size]
...全文
64 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
Mac_john 2015-03-20
  • 打赏
  • 举报
回复
求各位指导,在此拜谢
姜小白- 2015-03-20
  • 打赏
  • 举报
回复
层层嵌套的判断,看能否将判断条件规整一下
if (condition1) {
if (condition2){
。。。
}
}

规整为 if (condition1 && conditon2){
}
诸如此类的样子,可以减少不少嵌套的判断
  • 打赏
  • 举报
回复
可以的话用switch代替 更高级的话看是否可以进行抽象,归纳
日知己所无 2015-03-20
  • 打赏
  • 举报
回复
http://bbs.csdn.net/topics/390998030 #4是一个经典的例子,用查表法,去除大量的switch case以及if else http://bbs.csdn.net/topics/390996837 #8算是通过调整if语句语序以及结构重构代码的例子 熟悉各种手法之后,遇到具体问题再具体分析 比如一段程序有很多“异常、错误条件的判断” 这个时候,如果用传统的if else把正常语句写在if里,把异常语句写到else里,就会造成非常复杂的if else结构 改造方法就是:在方法开始的地方,通过简单的if语句判断简单的条件,发现满足退出方法的条件时,立即退出 例如:解析XML文件 判断一个文件是否存在,不存在就直接退出 然后试着打开这个文件,如果打开失败了,做点儿错误处理然后退出 然后试着解析XML文件,解析失败了,也退出 这样连续使用单一的if语句,到达后面的时候就已经是满足各种正常条件的情况了 如果有画流程图的好习惯的话,上面的流程图大约就是一条直线从上到下 然后在直线的顶端,有一些单一条件退出方法【一条一条简单的横线】 喜欢深入研究的话,建议看看《代码大全》或者《重构》这样的书的相关章节

50,549

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧