`

研究源码的新天地: 避害趋利

阅读更多

    前两篇分别描述了"为什么要研究源码"和"研究源码的痛苦", 这里接下来看最后一篇"避害趋利", 意指为什么那个电子书让我既能支持源码研究,又不至于受那么的苦遭那么多的罪, 用数学来描述,就是尽量使(动力 - 阻力)差值最大化.
    那这本电子书在我研究源码的道路上具体又有什么魔力呢? 下面我将结合两篇所列要点,避害趋利地分析下下. 电子书的链接为:http://www.discursive.com/books/cjcook/reference/book.html

    1, 问题驱动. 这里借助一个时髦一点的名字, 咱也叫作"XX驱动". 具体到这本书上,就是说书中所列feature都是先从很具体的问题引入的, 这样不至于像看Hibernate源码里的类那样,一上来并不清楚这个类具体是干啥的?为什么要引入它? 有了这个问题驱动的特点, 再看/跟踪所说源码时,心里有一个明确的目标, 所有努力都会有的放失, 目标单一了, 也就更能集中精力地钻研问题.
    2, 例子说明. 这一点很重要, 有了例子, 上面讲述的问题也就更形象, 自己也就不必再设计例子去验证那些feature, 可以直接在例子的基础上设置断点、跟踪、查看其具体实现细节. 而这样的优点,在研究hibernate或Tomcat时,那是根本不敢想的, 不可能有这样材料针对hibernate每一个类的作用加以说明.
    3, 短小精悍. 此电子书,基本上是按一集一个feature的节奏前进的. 这种感觉就像看情景喜剧,一集一个故事,故事之间没有关联, 什么时候有时间了,都看上一集.而hibernate就像是三国演义了, 若事先一点"基础"也没有的话,那么错综复杂的人物关系根本理不出头绪了. 这样的短小精悍,还有一个好处,就是每一个feature下来,都是一个成功,也相应地有了成就感,日集月累,金字塔也就慢慢展显了出来.
    4, 容易出彩.  书所列feature大都是对日常编码中易出错问题的解决了, 把它们研究透了, 一是从意识层面上可以考虑周全而少出问题,再有即使出了问题也心里有底, 想到可能会从这个ApacheCommon中找到答案.在这方面, Hibernate虽说比Tomcat更接近实用,更由于其"人物关系复杂",自己容易走丢, 投入产出比要差不少.
    5, 积木作用.  由于书中feature是对小问题的集中解决, 而这些小问题想比于大问题跟自己更亲近(而且本质上讲,大问题也都小问题积累而成),我们对它们的做案现场更易把握.于是无意中,也就锤炼了自己对问题的分析、对事物的建模能力. 这样的提高也会比hibernate来的更平易近人.  再上一个层面, 像hibernate这样的大项目,不少功能也就直接借用了ApacheCommon的东西, 这样对书中所列ApacheCommon的功能有了集中了解/精通后, 日后再研究Hibernate时,也就少了很多绊脚石.  再无边际进想一下, 自己说不一定针对现实中的一些问题, 利用这些积木也"攒巴"出一个开源东东来呢. 呵呵...

--------------
    至此, 结合自己的酸甜苦辣,分了三篇引出ApacheCommon对研究源码上地帮助作用, 接下来的日子中, 结合自己的工作节奏,将会相应的研究心得陆续呈现出来, 敬请大家关注. 谢谢.

2
1
分享到:
评论

相关推荐

    不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:仓库管理系统.rar

    不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:仓库管理系统 不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:仓库管理系统 不错的可用来练手、课程设计、毕业设计的Javaweb项目源码:仓库管理...

    KITTI数据集可视化源码,对应教程为:https://blog.csdn.net/cg129054036/article/details/119516704

    《使用源码实现KITTI数据集的可视化》 在计算机视觉领域,数据集的可视化是一项重要的任务,它有助于研究人员理解数据、验证算法效果以及优化模型性能。KITTI数据集是自动驾驶和三维视觉研究中广泛使用的一个大型...

    php OA 源码 办公自动化源码

    用户帐号:可以为新员工建立帐号;可以为遗失密码的用户初使化密码;可以修改用户所在的权限组及部门;可以设置员工的个人信息。 权限组:可以将每个用户设置到不同的权限组中以保证不同用户具有与其身份相对应的...

    二手车源码,二手车网站源码,二手车中介源码

    二手车网站源码,二手车网站模板 二手车网站源码优势: 二手车网源码采用DIV+CSS结构,较之传统的表格结构,具体代码简洁,加载速度快的优势。 合理的布局,清晰明了的结构,强大的站内链接优化,你只要做好外部...

    2022微信小程序130个源码分享 解压密码123

    2022微信小程序130个源码分享 想开发微信小程序却不知如何下手,微信官方文档不熟悉,想开发某个功能没有头绪,不知道代码怎么写?这里有一共130套微信小程序模板源码,包含移动端商城、小游戏、音乐、地图、小说、...

    360doc文库整站源码下载.rar

    【360doc文库整站源码下载】是一个针对360doc个人图书馆网站的源代码包。这个源码提供了构建类似360doc功能的在线文档分享...同时,对于想要深入学习Web开发的人来说,分析和研究这样的源码也是一个很好的实践机会。

    微信小程序源码大全(130个)

    这个压缩包文件包含了130个微信小程序的源码,是学习和研究微信小程序开发的宝贵资源。通过这些源码,你可以深入理解微信小程序的架构、开发流程以及常见功能的实现。 首先,微信小程序的开发基础是JavaScript、...

    多功能在线报价系统源码

    解压后,开发者可以开始研究源码,理解其结构和工作原理,进而进行定制和部署。 总结来说,这个“多功能在线报价系统源码”是一个强大的工具,可以帮助企业提高报价效率,优化销售流程,并通过可定制性实现与企业...

    易企秀源码 H5页面 最新微场景源码 场景画报源码 易企秀去版权2015免费

    易企秀是一款在线H5制作工具,它帮助企业或个人快速创建互动式的微场景,如电子邀请函、宣传海报、活动...通过对源码的研究,不仅可以提升编程技能,还能掌握H5页面和微场景的制作流程,为未来的项目开发打下坚实基础。

    手机号码交易网手机选号网站源码

    标题中的“手机号码交易网手机选号网站源码”指的是一个用于在线交易手机号码的网站系统,其核心是源代码,使用的是ASP编程语言和Access数据库。这种网站源码为开发者提供了一个基础平台,用于搭建自己的手机号码...

    Eigen官方源码

    Eigen为用C++模板开发的用于矩阵、向量等线性代数操作的开源代码,这里是从官网下载的Eigen最新版本

    植物大战僵尸辅助、基址(易语言源码)

    《植物大战僵尸辅助与源码解析》 在游戏开发领域,辅助工具的制作往往是对游戏机制深入理解后的产物。本文将围绕"植物大战僵尸辅助、基址(易语言源码)"这一主题,探讨如何利用易语言源码来实现对游戏《植物大战...

    供应链管理系统源码

    供应链管理系统源码是一种用于管理企业内部以及与外部合作伙伴之间物流、信息流和资金流的软件解决方案。这个系统的核心目标是优化整个供应链流程,提高效率,降低成本,并确保在正确的时间、正确的地点提供正确的...

    ASP.NET第一团购网源码(自动部署,有说明)- ASP.NET 团购网源码

    这里还有收集的一些ASP / ASP.NET 团购的源码: http://download.csdn.net/source/2972797 http://download.csdn.net/source/2959690 http://download.csdn.net/source/2973478 PHP+MySQL的看这里: ...

    android studio飞机大战源码带注释

    学了3天的android studio还有一点以前的java基础做了个飞机大战的游戏 游戏比较简单大概就这几个功能 1.会动的背景 2.我的飞机 3.发射子弹 3.敌人飞机

    移动医疗APP源码 android (安卓版)妙手医生源码

    移动医疗APP源码是开发医疗健康应用的核心组成部分,它包含了应用程序的所有逻辑和界面设计。...开发者可以通过研究源码学习到Android应用开发的各种技术,同时也可以了解如何在医疗领域实现安全、高效的移动服务。

    饿了么源码 百度外卖源码 美团外卖源码 外卖系统源码

    我们的每个系统作品都要经过周密的市场分析调查、可行性研究、项目策划,对我们来说项目的可行性高于一切! 功能专业、布局严谨 以项目方案为蓝本,以现有成功地方网站为局部参考,并充分结合地方性网站的特点与...

    一元云购网站源码

    "一元云购"是一种基于互联网的购物模式,用户只需花费一元钱就有机会购买到商品,商品价值通常远超一元。...通过研究和实践,不仅可以提升编程技能,还能深入理解互联网商业模式,对个人的IT职业生涯有着积极的影响。

    30个html5手机网站源码

    研究源码,学习如何建立WebSocket连接,发送和接收数据。 11. **表单增强**:HTML5提供了新的表单控件和属性,如、、required属性等,增强了用户输入体验。学习如何利用这些新特性创建更有效的表单。 12. **拖放...

    53客服系统源码 53kf源码

    53客服系统是一款广泛应用于企业在线客服的软件,它的核心在于提供实时的客户沟通平台,帮助企业提高服务效率,...对于开发者来说,深入研究这些源码不仅能提升技术能力,也有助于理解企业级客服系统的架构和运作机制。

Global site tag (gtag.js) - Google Analytics