关于看源代码的些许感想

C、C++和Java语言
回复
头像
liu滔
帖子: 7211
注册时间: 2010-10-09 23:01
送出感谢: 5 次
接收感谢: 14 次

关于看源代码的些许感想

#1

帖子 liu滔 » 2011-02-13 23:28

本来打算自己写个功能简陋的文本编辑器的,后来写啊写啊就停了。又后来,本来打算自己写个Lisp解释器来玩玩的,结果又搁浅了。 :em03
再后来啊,突然想要学习一下别人是怎么编写这两个东西的,于是找源代码来看。别说,就有很符合这两个目标的一个软件——Emacs! :em11
但是看Emacs的代码我觉得太有难度了,首先,代码量太大,我看到有几个源文件就是5000多行的——比我所写过的所有源代码加在一起还多,怎么看啊,尤其对我这种尚不是开发人员来说,更是难上加难~ :em20
不过我突然间想到一件事情,既然我要看的是和面向行的文本编辑器有关的内容,那么何必一来就看可怕的Emacs的源代码呢,我应该找点简单的入手~ :em05
于是,就有了我现在正在看的ed的源代码——就是那个很简陋的面向行的编辑器啊,连输入命令都需要敲回车键的那种,正好简单到我可以看懂的地步 :em05
然后我也改变了我的阅读源代码的方法。我这人有个怪癖,看到完整的很好的东西就不想去改它,于是乎,我看Emacs的源代码时做的那一点点笔记还是写在了另一个文件里,结果我都不知道怎么对照着来看好了。所以,这次,我将自己看源代码时的笔记以注释的形式写在了对应代码的旁边,啊,这次好多了,感觉可以在需要的时候立即查看自己以前的笔记了。嗯,怪癖果然很害人~ :em03
总之,有两点心得:
1. 要量力而为,不要在水平还尚不够的时候就去看Emacs这种庞然大物,会很有挫折感的 :em03
2. 要做笔记,并且做在需要的时候随手可得的地方——还有什么比做在源代码旁边更方便的呢 :em05
头像
remeber
论坛版主
帖子: 13005
注册时间: 2009-01-06 15:18
来自: 人间
送出感谢: 1 次
接收感谢: 22 次

Re: 关于看源代码的些许感想

#2

帖子 remeber » 2011-02-13 23:30

做笔记是个好习惯.
“有一种被人抛诸脑后的过去,包含一些不该遗忘的点点滴滴。欢笑之余,我将故旧拾起,才刹见自己的薄情。人世间似乎存在着某种公平,每个人都曾被抛掷在他人的遗忘中;而今你所有哽咽难宣的话语,也正是你曾为人所期盼,却永远听不见的字句。” —赫曼 赫塞
头像
liu滔
帖子: 7211
注册时间: 2010-10-09 23:01
送出感谢: 5 次
接收感谢: 14 次

Re: 关于看源代码的些许感想

#3

帖子 liu滔 » 2011-02-14 0:26

remeber Jiraiya 写了:做笔记是个好习惯.
不过还得看怎么做,要做得容易随叫随到,最好的方法我觉得还是写成注释~
现在看ed的代码觉得好爽啊,没什么太多的细节是看不懂的,哈哈,简单就是好~ :em11
头像
racnil
帖子: 288
注册时间: 2008-08-28 8:12
送出感谢: 0
接收感谢: 0
联系:

Re: 关于看源代码的些许感想

#4

帖子 racnil » 2011-02-14 3:21

哈,感谢LZ分享经验哈~~
个人感觉,可以试试先了解一个工程的大体结构,再去抠细节才比较好。
了解一下每一个文件大体是起到什么作用的,这样再看代码有一种“有备而来”的感觉……
SLAX and Xorg(without any Window Managers)
It's fun!
头像
liu滔
帖子: 7211
注册时间: 2010-10-09 23:01
送出感谢: 5 次
接收感谢: 14 次

Re: 关于看源代码的些许感想

#5

帖子 liu滔 » 2011-02-14 10:39

racnil 写了:哈,感谢LZ分享经验哈~~
个人感觉,可以试试先了解一个工程的大体结构,再去抠细节才比较好。
了解一下每一个文件大体是起到什么作用的,这样再看代码有一种“有备而来”的感觉……
其实我本来也是这么想的,结果我找遍了Emacs的所有README文件都没有看到关于整体结构的什么说法,可能是我指望它给我提供详细的每个文件和每个函数做什么的想法太天真了吧~ :em06
虽说每个源文件的开头都有一句注释是来解释该文件的功能是实现什么,不过这对关于程序的整个运行过程还是无法提供清晰的认识——当然,可能是我修行不够的原因 :em03
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45
送出感谢: 0
接收感谢: 9 次

Re: 关于看源代码的些许感想

#6

帖子 fanhe » 2011-02-15 19:58

做事都是从简单的着手
很多东西,能写
但是,写需要时间
但是,写出来了,要稳定需要大大量量的测试

所以,搞开发是技术活也是体力活
头像
liu滔
帖子: 7211
注册时间: 2010-10-09 23:01
送出感谢: 5 次
接收感谢: 14 次

Re: 关于看源代码的些许感想

#7

帖子 liu滔 » 2011-02-15 21:01

fanhe 写了:做事都是从简单的着手
很多东西,能写
但是,写需要时间
但是,写出来了,要稳定需要大大量量的测试

所以,搞开发是技术活也是体力活
我觉得写个让规规矩矩的人用的东西还是很顺心的,但是如果加上各种防弹的条件测试和各种错误检测的话就很没劲了~ :em06
不过要找个简单的东西也不简单啊,我看ed还好,看到nano的源代码就发现不大一样了,难了好多,尤其是被各种#ifdef等预处理弄得昏昏的 :em20
头像
tangboyun
帖子: 701
注册时间: 2009-07-25 1:57
送出感谢: 5 次
接收感谢: 13 次
联系:

Re: 关于看源代码的些许感想

#8

帖子 tangboyun » 2011-02-20 16:58

写一个文本编辑器的目标好大,其实可以先考虑如何定制自己的emacs。

比如你的笔记,就可以用emacs的org-mode来撰写并组织,
http://emacser.com/org-mode.htm
需要引用代码的话,可以直接引用代码段。

另: 楼主你的blog已经被墙,不代理上不去了。
https://github.com/tangboyun
http://tangboyun.is-programmer.com/
提问的智慧————Eric Steven Raymond
回答的智慧————Andrew Clarke
吾尝终日而思矣,不如须臾之所学也;吾尝跂而望矣,不如登高之博见也。
急急急标题什么的,最讨厌了!
急急复急急,急急何其多,我生待急急,万事急急急。
头像
liu滔
帖子: 7211
注册时间: 2010-10-09 23:01
送出感谢: 5 次
接收感谢: 14 次

Re: 关于看源代码的些许感想

#9

帖子 liu滔 » 2011-02-20 22:33

tangboyun 写了:写一个文本编辑器的目标好大,其实可以先考虑如何定制自己的emacs。

比如你的笔记,就可以用emacs的org-mode来撰写并组织,
http://emacser.com/org-mode.htm
需要引用代码的话,可以直接引用代码段。

另: 楼主你的blog已经被墙,不代理上不去了。
一个简陋的基本可用的文本编辑器我已经写完了,不过用起来真的不乍得~ :em03
定制emacs和自己写一个还是有很大差别的吧,定制emacs还是有C-h f这种招数的, :em09
PS:天哪,居然真的是这样~我不要啊~ :em20
回复

回到 “C/C++/Java”