当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 4 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 想读源码,扩展知识,一开始应该阅读哪些程序的源码?
帖子发表于 : 2011-02-08 9:44 
头像

注册: 2008-07-24 11:33
帖子: 4793
地址: 郑州
送出感谢: 4
接收感谢: 92
学了这么多算法、数据结构,但自己写稍微长一些的程序(就是几百、上千行代码的那种),还是比较吃力,总是纠结于怎么组织程序,所以想看看成熟软件的代码,学习学习别人的程序结构。

就是不知道该从哪些程序入手呢?GNU coreutils怎样?大牛大虾们推荐一些吧。


_________________
求人不如求它仨: 天蓝的Wiki 屎黄的Wiki 绿
Site: CUIHAO.TK    Twitter: @cuihaoleo
Machine: Athlon64 X2 5200+ / 2x2GB DDR2-800 / GeForce GTS 450
AD: ~まだ見ぬ誰かの笑顔のために~


页首
 用户资料  
 
2 楼 
 文章标题 : Re: 想读源码,扩展知识,一开始应该阅读哪些程序的源码?
帖子发表于 : 2011-02-12 1:23 
头像

注册: 2008-08-28 8:12
帖子: 288
送出感谢: 0 次
接收感谢: 1
嗯,这个么……我写的代码你要读吗?~~开玩笑开玩笑的,别当真哈~~~~

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

你用喜欢什么语言编程呢?如果知道用什么语言的话推荐起来可能更有针对性一点~~


_________________
SLAX and Xorg(without any Window Managers)
It's fun!


页首
 用户资料  
 
3 楼 
 文章标题 : Re: 想读源码,扩展知识,一开始应该阅读哪些程序的源码?
帖子发表于 : 2011-05-14 1:34 
头像

注册: 2010-11-17 6:06
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
代码嘛,根据需求来写,并不是行多少,就NB.
Delphi一个Begin和End就占用两行,呵呵.
所以,尽量把你的代码写的优化,小巧灵活.
其他人看了也很容易理解,这才是王道.

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

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

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

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

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

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

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

老板会用谁的?


页首
 用户资料  
 
4 楼 
 文章标题 : Re: 想读源码,扩展知识,一开始应该阅读哪些程序的源码?
帖子发表于 : 2011-05-14 13:36 
头像

注册: 2007-03-24 23:45
帖子: 2357
送出感谢: 0 次
接收感谢: 9
我被迫看了codelite的不少代码

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


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 4 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译