首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何阅读代码

身为一个程序员,工作中最重要的事情当然是写代码,其次就是读代码了。我们都是先阅读了别人的代码,才模仿着写下了自己的第一行代码。...所以程序员必须学会正确的阅读代码姿势,高效正确的阅读代码。 为什么读代码很难 读代码并不比写代码简单,阅读代码的困难源自以下几个方面。 首先,实现一个功能,存在多种具体的实现方式。...代码运行过程中也会修改外部状态,阅读代码的过程中不仅要关注代码中自身数据的状态变化,还要考虑对外部数据的修改。...有时候为了提升自己的能力,主动阅读一些优质开源软件的源码,学习其中的设计和实现,也要阅读完整的代码,或者某些模块的完整代码。...接下来可以开始读代码,但不是所有的代码都需要阅读。什么样的代码需要阅读

96720
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    为什么要阅读Linux内核源码以及如何阅读Linux内核源码

    阅读源码分为纵向阅读和横向阅读。纵向就是跟着内核的执行流程来读,横向就是按照内核的各大功能模块来读。 第一种方法纵向或者横向来读都可以,因为代码量不是很大。...《linux内核完全剖析》《linux内核完全注释》是引导你横向阅读的书,《linux内核设计的艺术》是引导你纵向阅读的书。...《linux内核情景分析》中的内核版本是2.4.X,现代内核版本还是推荐横向阅读,纵向几乎不可能。...(在Linux下搭建了quem虚拟机,然后用GDB调试内核也可以)总之阅读源码的方法也就上面两种,贵在坚持,但是别闭门N久学内核,没有意义。而且长时间只读代码,不敲代码是不行的。...和体系结构相关的库代码在 arch/*/lib/ scripts 这个目录包含脚本(例如 awk 和 tk 脚本),用于配置核心 按照以下顺序阅读代码会轻松点 核心功能(kernel) 内存管理(mm

    4.6K30

    如何阅读框架源代码

    不管对于那个段位的 Developer 来说,读源码都是一件好处颇多的事情,特别于初学者而言,这能迅速的吸纳优秀框架精华代码营养,迅速成长。不巧的是,晦涩难懂的源码,很容易让人心生怯意。...组件化吧,带着框架是如何解决这个问题的疑问去学习,定能事半功倍 对于读源码来说,这一步就更关键了,如果都不了解代码是要干什么的,怎么会清楚它为什么这么写呢?...有一定代码量的积累之后,建议阅读一些设计模式类的书籍,对自己的代码设计,以及阅读别人的源码,都很有益处。...树要这么多分支,时间又是这么昂贵,阅读的策略很重要。...我们的阅读路径,要以主要流程为主(也就是树的主驱赶,这样才能尽可能快的到达顶点),对于一些细枝末节,再这之后再来慢慢啃(或者有必要的时候) 例如,要去阅读 Vue 的源码,有个目录是解析模板,生成语法树

    1.1K60

    如何阅读大牛的代码

    一、代码阅读的必要性 阅读别人的代码作为开发人员是一件经常要做的事情。一个是学习新的编程语言的时候通过阅读别人的代码是一个最好的学习方法,另外是积累编程经验。...如果你是为了学习那么尽量收集和你的学习有关的资料,比如你想学习linux的文件系统的代码,那最好要找到linux的使用手册、以及文件系统设计的方法、数据结构的说明。(这些资料在书店里都可以找到)。...如果你想阅读linux的文件管理的代码,那么找一本讲解linux文件系统的书对你的帮助会很大。...分层次阅读阅读代码的时候不要一头就扎下去,这样往往容易只见树木不见森林,阅读代码比较好的方法有一点象二叉树的广度优先的遍历。...重复阅读 一次就可以将所有的代码阅读明白的人是没有的。至少我还没有遇到过。反复的去阅读同一段代码有助于得代码的理解。

    86840

    阅读代码整洁之道》总结

    出处:https://www.cnblogs.com/xiaoyangjia/ ---- 很早就阅读过《代码整洁之道》(英文版Clean Code),当时博主是个青涩的菜鸟,正在为团队创造着混乱的代码...当阅读JDK源码或者其他优秀开源工程时,叹服作者代码构建之精良,他们都有共同的特点:精确的变量名、恰到好处的设计模式、详细而不赘述的注释等等。...代码是团队沟通方式 工作的沟通,不只是电子邮件或者面对面语言交流,代码也是沟通方式之一。用代码实现需求,只是万里长征走完了第一步,必须让代码表达自己的设计思想。...编写代码的时候,应该考虑到别人的阅读感受,减少阅读障碍,为整个团队创造代码,而不是你自己。 让营地比来时更干净 这是美国童子军规的谚语,美国童子军相当于半军事化管理的青少年夏令营。...过长的方法,让阅读者不知道从何看起,看了前面忘记后面。将复杂的方法,拆分成逻辑相对简单的短方法。

    61040

    如何有效的阅读代码

    Spring框架源码,可以以BeanFactory bf= new XmlBeanFactory(new ClassPathResource("applicationContext.xml"))为入口,深入源代码阅读主干路实现原理...这一段阅读过程会看到很多实现细节,比如XML的验证、解析等,可以先不要深入研究具体的实现细节,知道大体的实现即可,这样可以快速的掌握整体结构,等整体骨骼结构弄明白了,再回过头来细细研究具体细节实现。...阅读的过程中,可以编写一些单元测试,然后通过断点调试验证细节、跟踪线索,同时可以配合看一些书籍,这样可以提高阅读源码的速度和效率。...源码阅读不易,会经过迷茫、挣扎、光明、迷茫、恍然大悟等阶段,坚持就会有收获,难得是坚持! 为了更方便的技术交流,建了一个微信群,加博主微信wind7rui,盛邀你进群!

    93560

    如何阅读一份代码

    有些巨型的代码库,如 linux kernel,块头堪比『战争与和平』,代码的规模宏伟到令人绝望,大大超过了我们能够阅读理解的范围。...谈到场景,很多人会联想到一本著名的书:Linux 内核场景分析。该书的作者显然把握了阅读代码的实质:循着一条线索,进行端到端的一个自成体系的内容的阅读。...接下来,本文就从若干阅读代码的场景开始,讨论个人的读代码的一点微不足道的心得。 场景一:为了破案而阅读代码 这是我们最主要的阅读代码的场景。工作中,免不了用各种各样的开源系统(别人的代码)。...ossip 协议实际的生产环境的代码是什么样子的?Linux kernel 如何实现 O(1) scheduler?...这种积蓄能量为跃迁准备的一种方式是读代码。读什么?读那些基础地不能再基础,你认为自己一辈子都不会去写的那些代码。比如 linux kernel,比如 OTP。

    1K70

    教你阅读Python开源项目代码

    知乎上有不少人问和关注阅读开源项目代码这个问题,比如「初学 Python,有哪些 Pythonic 的源码推荐阅读?」、「github中适合新人阅读的Python项目有哪些?」...、「如何去阅读并学习一些优秀的开源框架的源码?」等。本文将从推荐可阅读的Python项目和如何阅读者2个方面聊聊这个话题。 阅读Python开源项目代码主要有如下三个原因: 1....前2个是公认的Python领域代码写的最好的、最有创意的工程师。 初学者推荐阅读项目 初学者可以先阅读一些代码量比较少的,最好是单文件的项目: 1....使用flask和psutils的获取Linux系统信息的面板应用。 3. pallets/flask-website。 flask官方网站应用。 4. pypa/warehouse。...带着问题去阅读代码,这也是我认为最有效的方式。这会让你在阅读时候有个主线,比较有针对性。 3. 断点调试。

    2.1K10

    提高阅读代码效率神器 Sourcetrail

    Sourcetrail 比其它开发工具优势 软件开发人员将大部分时间花在弄清楚现有源代码上,但是通用的代码编辑工具对此任务几乎没有帮助。调试器仅允许详细检查一条狭窄的代码路径。...Sourcetrail通过将交互式依赖关系图,简洁的代码视图和高效的代码搜索结合在一起,提供了概述和详细信息,所有这些都优于其它开发工具。它支持您探索遗留代码,理解实现并重构软件体系结构。...认识Sourcetrail,交互式源代码浏览器! 我们希望您遇到Sourcetrail,这是一种轻量级的代码可视化工具,专门用于在源代码中进行快速而全面的导航。...Sourcetrail利用软件可视化来动态生成任何选定类型,函数,变量等的交互式代码映射,并显示其与其余代码库的所有依存关系。但是仅凭花哨的代码可视化效果或类图并不能使您真正了解任何源代码。...Sourcetrail缩短了阅读代码所花费的时间,并使您有更多时间花在您作为软件开发人员实际喜欢做的事情上。立即开始使用Sourcetrail!

    2.2K20

    实现抽象视觉推理+代码阅读

    v2 版本从第二部分开始增加了代码参考。 抽象: 视觉推理对于构建理解世界并执行超越感知的问题解决的智能代理是必不可少的。...运行日志:https://github.com/ml-research/neumann/blob/main/logs/redtriangle_log.txt 阅读原文或文末 运行时:...完整内容请阅读原文 相关文章: ILP: thinking visual scenes as differentiable logic programs Right for the Right Concept...交互解释符号Learning 相关推荐: AGI结构模块很细分:脑网络结构高清大图 AGI部分模块的优秀复现: 最新代码:一个epoch打天下:深度Hebbian BP (华为实验室) 生物视觉...10 分钟内适应扰动或快速翻身站立 躯体控制 + 代码:Learning to Learn and Forget (华为)长短期记忆网络 + inductive Logic Programs 视觉推理

    17240
    领券