[SDU软件工程实践]Blog14-一些团队交流与终章

2021SC@SDUSC

对树的上下访问

我从队中第四部分的负责人那里得知,在对操作的逻辑优化过程中,对树的访问确实不是单向的,而是“上蹿下跳”的。逻辑优化会在一个树状结构上来回访问,并且还有多种不同的优化逻辑,有不同的“上下翻飞”的方法。(不得不说后面的逻辑优化太难了)
既然它们后续的各种处理都需要在树上双向行走,那ASTNode保存父节点的必要性可太大了。

compile

compile方法其实包含了后续大量操作,甚至包括第四部分的内容……的入口。实际上,主方法compile就是一系列方法的入口的集合。
对于我们来说,我们的工作很大程度上——看上去——只是在读某一个方法。但实际上,这个方法往往会有层层复杂调用,背后有非常多的实现。
不过我想我的工作内容可能是比较特殊的,因为我是从入口开始的,内容逻辑、算法含量偏少,组织、调用偏多。debug对我的收益可能会明显大于其他人。

总结

我的分析内容——至少对于hive开发者来说——其实集中在处理字符串。在这部分里需要对不同的输入模式进行处理,变量代换处理,消除注释,分割命令。而对ASTNode的生成则完全被hive之外的另一个库完成了(甚至尝试去读取这些部分的源码时IDEA都会提醒你反编译)。
ps:至此我都没有找到将string打散为token的意义……

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值