`

研究源码的新天地: 为什么研究源码?

阅读更多

    把前些列出的一个写作提纲丰满下, 贴在这里.
----------------------------------------------

    为提高自己的水平,通过研究源码,学习优秀开源框架时间不短了. 其中滋味有酸,有甜,但更多的是苦和辣. 不过好像人生就是这样, 人生不如意者十之八九, 我们要善于发现并学会苦中做乐,那样生活才能回馈咱们更多的暖色.  前段时间Google时, 偶然发现一本书,惊喜之余觉得, 这本书给俺指了条研究开源项目源码的明路, 或者说开辟了一个新天地.

    为什么这么说呢? 这得从我为什么要研究源码开始说起.  仔细想来如下几个原因一直在促使着我决心把源码研究进行到底,虽然想放弃的念头也曾经闪过.

  • 很 好地配合了自己的自学之路. 虽说兴趣是最好的老师, 但光有兴趣,学习效果也不会高到哪里去的. 应该说从学编程这初,自己就跟源码结下了不解之缘。略懂了些基础后,找别的写的小软件、小游戏,自己比猫猫画虎地练手,那时体会了自己能跑的程序。程序能 跑了,再回过头来看程序中用到基础知识,学着用,用着学。后来真正地做项目了,也接触了世界级的优秀开源项目。在这些项目中映证了设计模式、编程技巧、编 程规范和业务建模等与软件工程相关的东西。 而这些知识原来只是停留在书本上的, 慢慢地从优秀开源项目中体会到了,仅从这一点来看得感谢源码对我的帮助。
  • 研究源码很美。工作之余,闲暇之时,打开Eclipse,随便设置几个断点,debug地跟踪一番。对一个小小疑问,从最初的看出看端倪,自己精神为之一振,然后顺藤摸瓜,抽丝剥茧,最终真相大白,其中过程不正像侦探小说么? 记得当时大面积研读/跟踪hibernate源码的那段时间里,也在重听评书《三国演义》,仿佛小说里的波澜壮阔的故事错综的人物关系跟Hibernate数以百计千计的类对应了起来,那千百个类,在作者地统一指挥下和谐有序地演奏了程序员听到的最美交响曲!       研究源码的美还体现在另一层面上。应该说,那优秀开源项目的设计者,本人都是解决问题的高手,别人看似千头万绪的麻烦事,可一到了高人手里就简单起来了。 于是一个无处下手的问题,成了庖丁解的牛,问题解决了,“提刀而立,为之四顾,为之踌躇满志”。这种精神感召力,套用下哲学里“人定胜天”的说法,对咱们 自己的生活不也是一种指导吗?
  • 工作需要。工作中用到了开源框架,为了灵活,像人家设计师那样很美地用好它,从源码上看实现是一种不错的选择。当时的想法也很天真,就像自己 写的项目一样,为了让系统跑起来,开发人员最清楚怎么来配置系统。于是,有了问题后就习惯性地设置断点了,这招还真灵,像JSON、 displayTag、jQuery里一些问题都是跟踪源码后灵活处理掉的(当时也Google了,但没找到合适的解决办法)。
  • 还有一种莫名的历史情结,或叫英雄情结吧。“某个牛人把Linux 重写了一遍 ”这样传说一直深藏在心中。虽说自己不能重写牛人的作品,但读读源码,也未尝不是一种精神上的安慰吧。


     本来是想着在一篇博客里写完了,可写完“为什么想研究源码”后发现已很长了,研究源码的痛苦和发现这个新天地喜悦就只能到下篇再写了。

4
2
分享到:
评论
4 楼 night_lone 2009-03-14  
大侠,真佩服您的境界。
小弟一直想跟踪源代码,也想知道类之间的千丝万缕关系。
能教小弟怎么debug跟踪源代码吗?
可是在网上苦苦寻觅,也没有找到。
3 楼 rmn190 2009-03-12  
呵呵, 昨天忘了写上, 书名是<Common Java Cookbook>, 一主要介绍Apach Common项目的电子书, 链接是http://www.discursive.com/books/cjcook/reference/book.html, 书中例子下载链接:http://www.discursive.com/books/cjcook/reference/pr03s04.html

这个书的优点(至少对我来说)我会在这个系列的第三篇博客中列出,请大家多提宝贵意义和建议.
2 楼 javne 2009-03-12  
楼主 说说你的书名叫什么
1 楼 halk 2009-03-12  
貌似你应该先把书的名字列出来....

相关推荐

    娱乐新天地全站

    【娱乐新天地全站】项目是一个综合性的娱乐网站平台,提供了丰富的在线娱乐资源和服务。从描述中的"前台用户"和"后台管理"可以推断,该站点具备完整的用户系统和后台管理系统,允许用户进行注册、登录、浏览内容等...

    2024最新精仿抖音直播软件源码-网盘链接下载(源码文件2.2G).txt

    一次性分享两个来源不同版本,团购版与大神投稿版...2、社交新天地:在互动中遇见潮流,发现生活的无限可能; 3、个性化推荐:根据您的喜好,为您推送心仪的直播内容,让精彩视频陪伴您的每一刻。 源码文件大小:2.2G

    烽火传世引擎源码不报错

    烽火传世,一款在网游界中颇具人气的角色扮演游戏,其背后的引擎源码不报错版本的推出,无疑为游戏开发者和爱好者打开了一扇新的大门。在当今IT领域,游戏开发的竞争日趋激烈,一款稳定且高效的引擎是开发者们...

    微信小程序备忘录小程序源码(源码+源码导入视频教程+源码导入文档教程)小程序精选源码亲测可用

    随着移动互联网技术的飞速发展,微信小程序作为一种全新的应用开发方式,已经成为越来越多开发者...通过这套源码的学习和实践,开发者不仅可以提升自己的专业技能,更能够在小程序的广阔天地中创造出更多有价值的应用。

    商业编程-源码-天地网络PHP留言薄.zip

    【标题】"商业编程-源码-天地网络PHP留言薄.zip"揭示了这是一个与商业编程相关的项目,其中包含了PHP语言实现的留言簿源代码。PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其适用于Web开发,能够...

    学校管理系统源码(经典)

    首页 | 学校概况 | 学校动态 | 专业设置 | 校务公开 | 招生考试 | 教学研究 | 德育在线 | 师生天地 | 图文展示 | 网上报名 职业技术培训学校(院)网站系统源码正式版后台功能介绍: 新闻管理 添加新闻 新闻管理...

    PCQQ红包扫雷多功能玩法源码.rar - RAR 5.0 压缩文件, 解包大小为 43,643,070 字节

    当经典的扫雷游戏与流行的即时通讯工具QQ结合,更是开辟了游戏互动的新天地。PCQQ红包扫雷多功能玩法源码的出现,不仅为玩家带来了一种全新的游戏体验,更为热衷于技术学习的开发者提供了一个难得的学习平台。 在...

    基于MSP432的无人机飞控源码(含思路解析)

    《基于MSP432的无人机飞控源码解析与实战》 在现代科技的快速发展中,无人机技术已经成为一个热门领域,特别是在航拍、农业、物流等应用中...深入理解和掌握这些知识,将为我们在无人机技术的广阔天地中开辟新的道路。

    (基于SpringBoot框架的Java毕业设计)校园论坛系统(源码+说明+演示视频)

    (基于SpringBoot框架的Java毕业设计)校园论坛系统(源码+说明+演示视频)...管理员:首页、个人中心、用户管理、公告管理、公告类型管理、热门帖子管理、帖子分类管理、留言板管理、论坛新天地、我的收藏管理、系统管理,

    课设&大作业&毕设-石油钻塔作业展示响应式网站模板-适配移动端-HTML源码.zip

    同学们,想要为你的毕业设计、课程大作业打造一片独一无二、引人入胜的数字天地吗?这份超酷的响应式HTML网页模板源码,就是你实现梦想的神兵利器! 这份源码利用最前沿的HTML5和CSS3技术,搭载流行的Bootstrap框架...

    IoT Thingsboard 3.4.1 源码

    总之,Thingsboard 3.4.1源码为物联网开发者提供了一片广阔的创新天地,无论是为了学习、优化还是构建新的应用,都能从中受益。通过深入研究源码,我们可以更好地利用这个平台,实现物联网应用的高效、安全和定制化...

    开心版阿宅轻量音乐网站程序源码 音乐网站免费听歌在线 音乐网站系统 音乐网站的设计与实现.zip

    在实际应用中,你可以通过以下步骤使用这个源码: 1. 安装PHP环境,确保服务器支持PHP运行。 2. 解压下载的压缩包,获取源代码文件。 3. 将源代码上传到服务器的根目录,配置好数据库连接信息。 4. 运行安装脚本,...

    基于springboot+vue论坛网站管理系统java毕业设计源码含论文ppt

    这是一款javaEE的前后端分离的Springboot和vue源码,前端vue.js,采用javaweb,基于B/S模式,idea或者eclipse为开发工具,功能也比较全面,毕业设计使用,感兴趣的朋友可以下载看看哦 二、功能介绍 本论文系统地描绘了...

    VC++6游戏编程入门及源码

    基于VC++的游戏编程源码 生活的意义是什么? 我一直弄不懂这个问题。...飞到人类新的天地! 之前: 只要我没有弄清生活的意义,我不会随便放弃; 之后: 宇宙只给你一个生命,其它的要你自己去把握。

    商业编程-源码-天地网络同学录 v2.0.zip

    《天地网络同学录 v2.0》是一款专为商业编程领域设计的源代码软件,它提供了丰富的功能,旨在帮助用户创建、管理和维护一个在线的同学录系统。这款软件的核心在于其源代码,允许开发者深入理解其内部工作原理,并可...

    linux源码.

    Linux源码是一个庞大的开源项目,它是全球开发者共同努力的成果,为操作系统内核提供基础。Linux内核源码包含了实现各种操作系统功能的代码,如进程管理、内存管理、设备驱动、网络协议栈等。这里我们将深入探讨`ls`...

    课设&大作业&毕设-农业收成展示响应式网站模板-适配移动端-HTML源码.zip

    同学们,想要为你的毕业设计、课程大作业打造一片独一无二、引人入胜的数字天地吗?这份超酷的响应式HTML网页模板源码,就是你实现梦想的神兵利器! 这份源码利用最前沿的HTML5和CSS3技术,搭载流行的Bootstrap框架...

    易语言完美延时模块源码.zip易语言项目例子源码下载

    通过对源码的研究和学习,初学者可以更深入地了解延时机制背后的原理,掌握如何合理安排和控制程序的执行流程,从而提升自身的编程技能。 对于在校学生,特别是需要完成毕业设计的计算机专业的学生来说,“易语言...

    精易模块v9.0.5【源码】.zip

    同时,通过研究源码,还可以提升自身的编程技巧,培养解决问题的能力。 6. 学习与进阶:对于易语言的初学者,可以从易语言的基本语法入手,逐步学习精易模块的使用。对于有一定基础的开发者,可以通过阅读和分析...

    新天地网吧改版网站.rar

    新天地网吧最新版, 采用动力文章管理程序修改完成. 管理员:admin 管理员密码:admin888 演示地址:http://www.ycxtd.com/newnet *************************************************************** 技术支持站点: ...

Global site tag (gtag.js) - Google Analytics