想读源码,扩展知识,一开始应该阅读哪些程序的源码?

软件和网站开发以及相关技术探讨
回复
头像
cuihao
帖子: 4793
注册时间: 2008-07-24 11:33
来自: 郑州
送出感谢: 1 次
接收感谢: 89 次
联系:

想读源码,扩展知识,一开始应该阅读哪些程序的源码?

#1

帖子 cuihao » 2011-02-08 9:44

学了这么多算法、数据结构,但自己写稍微长一些的程序(就是几百、上千行代码的那种),还是比较吃力,总是纠结于怎么组织程序,所以想看看成熟软件的代码,学习学习别人的程序结构。

就是不知道该从哪些程序入手呢?GNU coreutils怎样?大牛大虾们推荐一些吧。
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~
头像
racnil
帖子: 288
注册时间: 2008-08-28 8:12
送出感谢: 0
接收感谢: 0
联系:

Re: 想读源码,扩展知识,一开始应该阅读哪些程序的源码?

#2

帖子 racnil » 2011-02-12 1:23

嗯,这个么……我写的代码你要读吗?~~开玩笑开玩笑的,别当真哈~~~~

一般地来说自己对那方面的程序感兴趣,就读那方面的代码吧。
开始的时候就从小一些的程序入手,先搞清楚所有代码文件是干什么用的,然后再来仔细看。

你用喜欢什么语言编程呢?如果知道用什么语言的话推荐起来可能更有针对性一点~~
SLAX and Xorg(without any Window Managers)
It's fun!
头像
sizeof
帖子: 7
注册时间: 2010-11-17 6:06
送出感谢: 0
接收感谢: 0

Re: 想读源码,扩展知识,一开始应该阅读哪些程序的源码?

#3

帖子 sizeof » 2011-05-14 1:34

代码嘛,根据需求来写,并不是行多少,就NB.
Delphi一个Begin和End就占用两行,呵呵.
所以,尽量把你的代码写的优化,小巧灵活.
其他人看了也很容易理解,这才是王道.

阅读别人代码的时候,尽可能的多想想,
他的问题在哪,为什么他这么写,
我可以如何修改他变得优化,等等..

这样你就会写代码的同事,非常谨慎,甚至出现Bug你不用debug就知道
错误在哪里.
另外当你学习别人组织程序的逻辑时,试想这个程序的构造作者的思想,
比如说.
你在进行一个项目的开发时,针对一个类,是如何构造的?如何精简功能俱全呢?
你肯定先要把需要的空方法(函数)写出来,返回值和参数都经过思想固定住,
然后把这些互相的函数,属性,的组织和逻辑性想好,再进行填写,填空一样的东西.

如果你只是在盲目的写啊写,思想到哪里,就写道哪里,你的项目很容易崩溃掉.
或者越写越累,老得去修改,为什么要有接口呢?比如..java,c#之类的语言,
有接口的目的...比如你是我上司,你甩个接口给我,让我去根据他完成.
或者你写个小框架,我根据你的demo和你的框架内容去完成所需的代码,
对吧?

这时换个角度,你自己做开发,当然你也得先想好,你要做什么,
你的需求是什么?你需要几个工具(辅助)的函数/工具类,

总之,越方便越好,越简单越好,看一些成熟的项目,先看最底层,
观察他们的工具类,辅助类,底层如何实现,往上逐步逐步到表层,
是如何实现,

成熟的项目,废话很少的,代码很清晰,注释很明确.
所以看代码都是看质量,哪有按行数看的...
是吧.

比如咱俩是同事
你写1000行甚至10000万行的一个类,我一行搞定..

老板会用谁的?
头像
fanhe
帖子: 2357
注册时间: 2007-03-24 23:45
送出感谢: 0
接收感谢: 9 次

Re: 想读源码,扩展知识,一开始应该阅读哪些程序的源码?

#4

帖子 fanhe » 2011-05-14 13:36

我被迫看了codelite的不少代码

最好还是, 找个有兴趣的软件, 先尝试hack它的功能
hack的过程就是熟悉的过程
回复

回到 “软件/网站开发”