如何快速阅读java源码_程序员如何快速阅读源代码
科学研究已经证明:人类进行传统阅读时,主要使用左脑的功能;而在采用速读方式阅读时,则充分调动了是左右脑的功能作用,各自发挥左右脑的优势共同进行文字信息的形象辨识、意义记忆和理解,所以速读又被称之为全脑速读。下面就是小编给大家带来的程序员如何快速阅读源代码,希望大家喜欢!
程序员如何快速阅读源代码一
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源码_程序员如何快速阅读源代码相关推荐
- 如何快速阅读java源码_如何进行快速阅读代码
每个程序员所写的代码都有自己的风格,而我们在参考别人的代码的时候,如何能更快速更好地读懂和自己编程风格的代码呢?下面小编为你整理如何快速阅读代码,希望能帮到你. 快速阅读代码方法 1.阅读源代码的说明 ...
- 程序员圣诞节相册源码_程序员分享圣诞刷屏源码,这次朋友圈千万不要再@微信官方了!...
明天就到圣诞节了 每年到这个时候,朋友圈里都会掀起@微信官方要「圣诞皮肤」的骚操作,最常见的就是加个圣诞小帽了. 当然这种事情很多 P 图软件都可以做到,但在使用这些软件时,经常会被要求绑定微信等个人 ...
- 如何快速阅读java源码_如何速读?--如何快速阅读
下面这些资料是我刚才在整理电脑硬盘的时候发现的,是以前自己刚刚开始关注自己阅读速度和质量的时候收集的资料.因为但是上面不方便,所以全是整理成了TXT文件保存下来,现在发到Blog里面,做个记录.速读要 ...
- python表白程序源码_程序员python表白代码
python表白代码 源代码如下: # -*- coding:utf-8 -*- import turtle import time # 画爱心的顶部 def LittleHeart(): for i ...
- 你会阅读Java源码吗
阅读Java源码的前提条件: 1.技术基础 在阅读源码之前,我们要有一定程度的技术基础的支持. 假如你从来都没有学过Java,也没有其它编程语言的基础,上来就啃<Core Java>,那样 ...
- 相册java源码_电子相册java源码
电子相册java源码 import java.awt.*; import java.awt.FlowLayout; import java.awt.event.*; import javax.swin ...
- java粒子特效_程序员20分钟搞定粒子效果, 仅仅200行代码
原标题:程序员20分钟搞定粒子效果, 仅仅200行代码 这粒子的打造,确实没有布局代码,稍后大家在源码上可以看到,css代码都只有几行,绝大部分代码都是java代码,而且是原生java书写的,现在很多 ...
- 【源码】程序员优质资源汇总
文章导航 前言 一.设计切图九宫格 二.前端资源及教程 2.1 大数据可视化大屏(源码下载) 2.2 html后台管理系统框架(附源码) 2.3 html好看的爱心告白源码 三.后端资源及教程 3.1 ...
- 跳一跳改分java源码_解密微信小程序漏洞:可下载任意小游戏源代码,“跳一跳”可改分...
原标题:解密微信小程序漏洞:可下载任意小游戏源代码,"跳一跳"可改分 雷锋网消息,据 IT 之家 1 月 2 日消息称,"跳一跳"居然可以利用漏洞自己改分数,甚 ...
最新文章
- C++ [](){} 匿名函数 lambda表达式
- git提交过滤target文件 idea_找不到或无法加载主类(IDEA中启动spring boot项目)
- linux命令we,Linux学习篇之基础命令
- 第一章:NHibernate的简介
- python小屋_Python小屋——Python语言基础(一)
- 评论:我们该如何应对科技发展带来的失业
- 【转】Excel表格的35招必学秘技
- WWW2022推荐系统/计算广告论文集锦
- 致中小保险企业——活下去,活的久,才有更多机会...
- 大厂技术实现 | 爱奇艺文娱知识图谱的构建与应用实践 @自然语言处理系列
- 高通Display架构
- 【LeetCode】934. Shortest Bridge 解题报告(Python)
- 树莓派python播放报警声(usb音响)
- 【图像融合】像素点图像融合【含GUI Matlab源码 783期】
- python3.6安卓版-一些不错的文档网址--笔记【原创】
- mysql索引默认是什么意思_MySQL索引的理解
- 分区表与普通表之间切换的报错
- 短视频平台开发,首先要搭建短视频框架
- linux 批量解压.7z脚本
- Typec转HDMI 4K30HZ扩展芯片方案CS5261和CS5266设计参数及电路对比