1.如何分析学习源码

这方面知识,我也是不太清楚,但是百度有一大堆。
我的理解三步走:
1. 抄
抄的意思,不是贬义的抄袭,而是拿来主义。项目有某新功能,需要快速完成任务,而且网上有很多优秀的轮子,如果不去用这些优秀的轮子,不仅对自己,对别人,都是一种浪费。好比我是比亚迪的车子,配了迈巴赫的轮子,档次立马不一样了。
2. 改
搞懂人家轮子的原理,能够做二次开发,实现自己定制的功能。这句话短,但是不多说,难的就是这里。
3. 写
看到大家的轮子都超级烂,好比市场上全是马车的轮子,我家跑车怎么能用马车轮子呢?自己写一个优秀的轮子。不仅仅实现了功能,更在效率稳定上更胜一筹。当然,如果做不到,写一个学习学习也是可以的。

当然了,本人开发经验很少,可能说的不对。我们学习一下知乎上的答案吧。

引用如何更有效地学习开源项目的代码?

我很认同庄表伟总结的 “学习开源,就尽可能在代码里找答案,而不是在代码之外找答案,那些都是二手的,而且很可能是不准确的。” 但是如何读好,读懂代码,我这边还是有不同的认识。

  1. 需要从代码管理库下载完整的源代码,而不是简单的源代码文件包或者source.jar.这样做有很多好处,一个是你
    可以获取代码的修改记录,还有你可以获取到完整的测试代码,当你要提交patch的时候,你可以借助版本管理工具生成 针对不同版本的patch。

  2. 示例代码与单元测试示例代码可以帮助你学会使用相关开源项目的API。很多朋友在使用开源项目的时候遇到一个小 问题就发信给开发者要这样或者那样的示例代码,其实他们没有发现大部分的开源项目在开发的过程中,为了验证其实现 的功能,都会写很多单元测试代码。这些代码其实非常好的示例代码。可能是下源码,建工程会花费你几个小时的时间, 但是如果你想深入了解开源项目的话,这点投资还是很有价值的。其实读单元测试的好处太多了,这里简单给大家列一 下:由于一个单元测试一般也就是几个小时的开发工作量,你很容易就能读懂相关的代码。每个单元测试都是可以独立运 行的,这样节省你跟踪调试的时间。单元测试在很大程度定义了软件的功能,可以帮助你快速掌握项目的相关API。如果 你修改的开源项目的代码,你可以通过修改单元测试来验证你的修改是否正确。单元测试里面也蕴含架构的技巧,如果被 测试对象没有很好解耦你是很难写出精简的测试代码的。

  3. 架构文档 ,其实大部分的开源项目都会对其架构有一定的描述,这些描述可能会有点过时,但是通读一下会让你项目 有一个比较深入的认识。这样做好比是让你对北京的二环,三环,四环,五环有个大体的认识。这样在你要对代码的某块 内容进行详细研究的时候(例如找中关村的位置的时候,知道西北四环)就能很快定位了。

作者:姜宁
链接:https://www.zhihu.com/question/19637879/answer/13545260
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

【6层】一字型框架办公楼(含建筑结构图、计算书) 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值