科学研究已经证明:人类进行传统阅读时,主要使用左脑的功能;而在采用速读方式阅读时,则充分调动了是左右脑的功能作用,各自发挥左右脑的优势共同进行文字信息的形象辨识、意义记忆和理解,所以速读又被称之为全脑速读。下面就是小编给大家带来的程序员如何快速阅读源代码,希望大家喜欢!

程序员如何快速阅读源代码一

1、阅读源代码的说明文档,比如本例中的README, 作者写的非常的详细,仔细读过之后,在阅读程序的时候往往能够从README文件中找到相应的说明,从而简化了源程序的阅读工作。

2、如果源代码有文档目录,一般为doc或者docs, 最好也在阅读源程序之前仔细阅读,因为这些文档同样起了很好的说明注释作用。

3、在阅读程序的同时,最好能够把程序存入到cvs之类的版本控制器中去,在需要的时候可以对源代码做一些修改试验,因为动手修改是比仅仅是阅读要好得多的读程序的方法。在你修改运行程序的时候,可以从cvs中把原来的代码调出来与你改动的部分进行比较(diff命令), 可以看出一些源代码的优缺点并且能够实际的练习自己的编程技术。

4、从makefile文件入手,分析源代码的层次结构,找出哪个是主程序,哪些是函数包。这对于快速把握程序结构有很大帮助。

5、分析函数包(针对C程序),要注意哪些是全局函数,哪些是内部使用的函数,注意extern关键字。对于变量,也需要同样注意。先分析清楚内部函数,再来分析外部函数,因为内部函数肯定是在外部函数中被调用的。

6、需要说明的是数据结构的重要性:对于一个C程序来说,所有的函数都是在操作同一些数据,而由于没有较好的封装性,这些数据可能出现在程序的任何地方,被任何函数修改,所以一定要注意这些数据的定义和意义,也要注意是哪些函数在对它们进行操作,做了哪些改变。

7、从main函数入手,一步一步往下阅读,遇到可以猜测出意思来的简单的函数,可以跳过。但是一定要注意程序中使用的全局变量(如果是C程序),可以把关键的数据结构说明拷贝到一个文本编辑器中以便随时查找。

8、阅读程序的同时,要注意一些小工具的使用,能够提高速度,比如vi中的查找功能,模式匹配查找,做标记,还有grep,find这两个最强大最常用的文本搜索工具的使用。

程序员如何快速阅读源代码二

1、弄清楚模块作用:能够一句话描述

首先要知道模块是做什么的,有什么作用,能够用一句话描述就够了。

如:CRM(clock reset Management)就是提供时钟信号和复位信号的模块,为芯片内部各个模块提供时钟和复位信号。

2、弄清楚重要输入信号和输出信号

要确定最重要的输入信号和输出信号是什么,不需要知道所有的信号,只要知道

能体现体现出模块功能的信号是什么就可以了,在此称之为关键信号。

3、了解重要信号的外部连接情况

弄清楚关键输入信号来自哪些模块以及输出信号提供给哪些模块,脑海中构建出大致的结构图。

4、构建模块内部数据流

构建模块内部数据流,关键信号经过了哪些内部模块,做了哪些处理工作,输出信号又是如何产生的。

通过:正向追踪输入信号++反向Drive输出信号 快速构建数据处理流程。

5、选择重点信号细看代码

程序员如何快速阅读源代码相关文章:

如何快速阅读java源码_程序员如何快速阅读源代码相关推荐

  1. 如何快速阅读java源码_如何进行快速阅读代码

    每个程序员所写的代码都有自己的风格,而我们在参考别人的代码的时候,如何能更快速更好地读懂和自己编程风格的代码呢?下面小编为你整理如何快速阅读代码,希望能帮到你. 快速阅读代码方法 1.阅读源代码的说明 ...

  2. 程序员圣诞节相册源码_程序员分享圣诞刷屏源码,这次朋友圈千万不要再@微信官方了!...

    明天就到圣诞节了 每年到这个时候,朋友圈里都会掀起@微信官方要「圣诞皮肤」的骚操作,最常见的就是加个圣诞小帽了. 当然这种事情很多 P 图软件都可以做到,但在使用这些软件时,经常会被要求绑定微信等个人 ...

  3. 如何快速阅读java源码_如何速读?--如何快速阅读

    下面这些资料是我刚才在整理电脑硬盘的时候发现的,是以前自己刚刚开始关注自己阅读速度和质量的时候收集的资料.因为但是上面不方便,所以全是整理成了TXT文件保存下来,现在发到Blog里面,做个记录.速读要 ...

  4. python表白程序源码_程序员python表白代码

    python表白代码 源代码如下: # -*- coding:utf-8 -*- import turtle import time # 画爱心的顶部 def LittleHeart(): for i ...

  5. 你会阅读Java源码吗

    阅读Java源码的前提条件: 1.技术基础 在阅读源码之前,我们要有一定程度的技术基础的支持. 假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃<Core Java>,那样 ...

  6. 相册java源码_电子相册java源码

    电子相册java源码 import java.awt.*; import java.awt.FlowLayout; import java.awt.event.*; import javax.swin ...

  7. java粒子特效_程序员20分钟搞定粒子效果, 仅仅200行代码

    原标题:程序员20分钟搞定粒子效果, 仅仅200行代码 这粒子的打造,确实没有布局代码,稍后大家在源码上可以看到,css代码都只有几行,绝大部分代码都是java代码,而且是原生java书写的,现在很多 ...

  8. 【源码】程序员优质资源汇总

    文章导航 前言 一.设计切图九宫格 二.前端资源及教程 2.1 大数据可视化大屏(源码下载) 2.2 html后台管理系统框架(附源码) 2.3 html好看的爱心告白源码 三.后端资源及教程 3.1 ...

  9. 跳一跳改分java源码_解密微信小程序漏洞:可下载任意小游戏源代码,“跳一跳”可改分...

    原标题:解密微信小程序漏洞:可下载任意小游戏源代码,"跳一跳"可改分 雷锋网消息,据 IT 之家 1 月 2 日消息称,"跳一跳"居然可以利用漏洞自己改分数,甚 ...

最新文章

  1. C++ [](){} 匿名函数 lambda表达式
  2. git提交过滤target文件 idea_找不到或无法加载主类(IDEA中启动spring boot项目)
  3. linux命令we,Linux学习篇之基础命令
  4. 第一章:NHibernate的简介
  5. python小屋_Python小屋——Python语言基础(一)
  6. 评论:我们该如何应对科技发展带来的失业
  7. 【转】Excel表格的35招必学秘技
  8. WWW2022推荐系统/计算广告论文集锦
  9. 致中小保险企业——活下去,活的久,才有更多机会...
  10. 大厂技术实现 | 爱奇艺文娱知识图谱的构建与应用实践 @自然语言处理系列
  11. 高通Display架构
  12. 【LeetCode】934. Shortest Bridge 解题报告(Python)
  13. 树莓派python播放报警声(usb音响)
  14. 【图像融合】像素点图像融合【含GUI Matlab源码 783期】
  15. python3.6安卓版-一些不错的文档网址--笔记【原创】
  16. mysql索引默认是什么意思_MySQL索引的理解
  17. 分区表与普通表之间切换的报错
  18. 短视频平台开发,首先要搭建短视频框架
  19. linux 批量解压.7z脚本
  20. Typec转HDMI 4K30HZ扩展芯片方案CS5261和CS5266设计参数及电路对比

热门文章

  1. 【Cocos游戏】日本国民RPG《星石传说》带你自由穿越
  2. 技术管理的必备思考模型 - STARS模型
  3. POI导出EXCEL经典实现
  4. 光学镜头参数之——畸变
  5. HTML服务器推送技术简介
  6. linux用kde启动桌面,使用 KDE Plasma 定制 Linux 桌面
  7. IT项目管理(第一部分)
  8. 最有利百度收录的博客排行榜
  9. 7-15 重复数据问题-hebust (10 分)
  10. iPad Air忘记密码,怎么办?