关闭 x
IT技术网
    技 采 号
    ITJS.cn - 技术改变世界
    • 实用工具
    • 菜鸟教程
    IT采购网 中国存储网 科技号 CIO智库

    IT技术网

    IT采购网
    • 首页
    • 行业资讯
    • 系统运维
      • 操作系统
        • Windows
        • Linux
        • Mac OS
      • 数据库
        • MySQL
        • Oracle
        • SQL Server
      • 网站建设
    • 人工智能
    • 半导体芯片
    • 笔记本电脑
    • 智能手机
    • 智能汽车
    • 编程语言
    IT技术网 - ITJS.CN
    首页 » 程序人生 »成为一名更好的程序员:如何阅读源代码

    成为一名更好的程序员:如何阅读源代码

    2015-11-28 00:00:00 出处:phphot
    分享

    阅读源代码有许多益处。你会发现新的架构(construct)和库,与其他的代码维护者产生共鸣,但最重要的是学会如何组织代码,避免因内部极其复杂而变得不可维护。

    但是也有一个不好的地方,那就是阅读源代码太困难了。每当我看到一个新的代码库(code base)时,这种让人眩晕的感觉就充斥了我的大脑。我的内心告诉我压根不想趟眼前这趟浑水。

    成为一名更好的程序员:如何阅读源代码

    这是(希望是)正常的反应。当我们的大脑接触过多的新东西,就会产生排斥。造物主赋予我们的这台强大的模式匹配机器根本找不到规律。所有的抽象(abstraction)都是之前没见过的,类的名称也毫无印象。程序又到底是从什么地方开始执行的?

    对此,我能给出的一般性建议如下:1. 寻找并建立自己能够理解的初步基础,通常就是主要的入口点(main entry point)。2. 从这个基础开始,逐步探索主要功能。3. 记录下自己的见闻。

    从头开始

    窍门就是给自己一个起点。我是这样做的。我通过-h选项运行程序,并调用help命令。之后我复制其中一条help文档字符串,以此为检索词搜索一遍代码库,找到这个帮助文档所在地方。通常情况下,调用help命令之后你会发现离程序的主入口点很近了。

    辨明轮廓

    找到主入口点之后,我会运行几个文档中提供的示例。然后,我会试着追踪主要的代码块,大致了解下每个部分是如何连接起来的。

    我会问自己,是否存在一个管理程序,负责调用一堆帮助函数和类?是不是有一些类是平级关系,相互之间轮流交换控制权?是不是有一个程序逐步执行的主任务队列?

    了解全局有助于你理清小细节。要是你没有理解程序的主流程就闷头读下去,那你很可能会被细枝末节搞得焦头烂额。

    勤做笔记

    我习惯直接在代码中做笔记。做笔记的时候,我会使用特殊的注释符(例如,使用#=>,而非常用的#),这样可以将我自己的笔记与原作者注释区分开来。

    要是碰到巧妙的技巧、不易理解的流程、编程架构(construct)的漂亮使用方式或者是其他任何你想牢记的内容,务必要做笔记。要是你读不下去了,你也可以做个记录,提醒自己之后要回去再读看不懂的部分。

    通过写下你的思绪,你实际上是在把那块代码变成你自己写的。慢慢地,你就会开始在工作中自然地用上新掌握的那些架构(construct)。

    融汇贯通

    学习编程,是一个反复读代码和写代码的持续过程。只要你愿意接触不同的风格、代码,最终你会形成自己的独特视角和思维。

    上一篇返回首页 下一篇

    声明: 此文观点不代表本站立场;转载务必保留本文链接;版权疑问请联系我们。

    别人在看

    67款移动应用存在违法违规收集使用个人信息情况

    高通、联发科、汇顶科技等“芯”助力,vivo X200 Ultra及X200s发布

    微软CTO凯文·斯科特:未来AI行业将涌现大量专业智能体

    《中国AIGC产业峰会——万物皆可AI》在北京圆满落幕

    威联通科技推出 16 颗硬盘 SAS 双主动控制器 ES1686dc R2 3U 机架式 NAS,具备 HA 及最佳存储效率

    当漏洞攻击遇上腾讯混元超能力:EdgeOne的Web安全赛博决斗

    上海外骨骼机器人亮相消博会,万元起售引关注,加速研发个人版

    深耕智能文档处理领域,合合信息《智能文档技术与应用白皮书》正式发布

    RootPhone:开启RWA代币化时代的Web3智能终端革命

    华为Mate 80系列全曝光:将出厂预装原生鸿蒙操作系统

    IT头条

    平替CUDA!摩尔线程发布MUSA 4性能分析工具

    00:43

    三起案件揭开侵犯个人信息犯罪的黑灰产业链

    13:59

    百度三年开放2.1万实习岗,全力培育AI领域未来领袖

    00:36

    工信部:一季度,电信业务总量同比增长7.7%,业务收入累计完成4469亿元

    23:42

    Gartner:2024年全球半导体营收6559亿美元,AI助力英伟达首登榜首

    18:04

    技术分享

    iOS 8 中如何集成 Touch ID 功能

    windows7系统中鼠标滑轮键(中键)的快捷应用

    MySQL数据库的23个特别注意的安全事项

    Kruskal 最小生成树算法

    Ubuntu 14.10上安装新的字体图文教程

    Ubuntu14更新后无法进入系统卡在光标界面解怎么办?

      友情链接:
    • IT采购网
    • 科技号
    • 中国存储网
    • 存储网
    • 半导体联盟
    • 医疗软件网
    • 软件中国
    • ITbrand
    • 采购中国
    • CIO智库
    • 考研题库
    • 法务网
    • AI工具网
    • 电子芯片网
    • 安全库
    • 隐私保护
    • 版权申明
    • 联系我们
    IT技术网 版权所有 © 2020-2025,京ICP备14047533号-20,Power by OK设计网

    在上方输入关键词后,回车键 开始搜索。Esc键 取消该搜索窗口。