[011]阅读项目源代码时想到的01

背景

前段时间阅读公司一个产品的代码,看了一两天当我需要定位问题的时候还是不知道如何入手。但从我触发的动作入手进行跟踪,对这个项目做了些什么事情有了更深的了解。

几个心理认知

1.阅读源代码是为了弄清楚这个项目,在由问题的时候能够大致定位到出现问题的地方。
2.在必要的地方调试出结果,因为阅读代码时间长了会很疲劳容易产生自己看懂了错觉。

信息的角度上谈看代码

代码是在运行时候传递的是信息。
看代码时候对以下观念敏感或者心中有数会让我少接入低效的状态。
1.谁触发这个代码的,有计算机触发(定时任务),有页面人工触发。
2.信息的处理方式是同步的还是异步的,比如你在eclipse按call hierarchy显示的是代码主动调用这样很容易跟踪跟踪下去。如果是异步的你需要从新另起一个触发源头来跟踪代码。
3.信息的变化有 传递、汇总、取大小值。我以前开始看代码对汇总,大小值这些不太敏感,但是从整个逻辑的角度是很大区别,所以看代码的时候这些变换一定要注意。

代码与信息的关系

我们脑子里有概念,然后通过代码来具体实现。而代码运行起来会有很多种情况,在这里就表现为很多信息特征。
从抽象与具体的关系可以说:概念 -> 代码 -> 运行信息。

越是抽象需要描述他的文字就越少,从系统角度也可以说概念里包含了很多代码子系统通过代码子系统来实现(当然这个是人来实现的)。

代码是运行时信息的抽象,一个代码运行起来可能有很多路径,这样只能捕捉特定运行时具体信息。

写在后面的话

写得很抽象但这是我这段时间阅读源代码的思考,以后有新的想法会在这基础上增加。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,695评论 25 708
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,026评论 19 139
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,261评论 4 61
  • 算不上读后感的感言,这个年纪,总是在别人的字里行间读出自己的故事。 一,“我明白社会关系错综复杂,浅表交往...
    从知道到做到阅读 229评论 0 1
  • 大师,让我入画可好~~画画是件逍闲之事。读元 盛懋 秋舸清啸图,很好的映衬了逍闲的含义。跟着大师走啊,逍闲去!
    瘦人碗子阅读 255评论 0 0