当前位置:科技动态 > 来说说如何学习开源项目

来说说如何学习开源项目

  • 发布:2023-09-29 06:21

工作了几年的

同学程序员,有一些项目的经验,对编程也有自己的理解,但偶尔会感到迷茫,不知道下一步该做什么。如何提高自己。

在笔者看来:“程序员现阶段最需要的是提高自己的编程能力和视野,而学习开源项目是最有效的方法之一。 ”

在这篇文章中,作者讲述了自己学习开源项目的经历。希望对您有所帮助。

1 学习使用

首先,我们需要学习如何使用开源项目

Github是全球最大的在线软件源码托管服务平台,很多开源项目都托管在其上。

从GIthub下载源代码后,需要重点关注快速入门、入门、Example等文档。这些文档告诉初学者如何使用该项目。

如果需要部署项目,请参考项目文档,尝试在独立环境中从头开始部署项目。

有些项目还会提供完整的example项目,其中有现成的示例。您可以尝试根据文档运行介绍性示例。

如果介绍性示例运行顺利,这对初学者计划来说是一个良好的开始。如果操作过程中出现异常,不要惊慌。查找项目中的FAQ文档,或者搜索问题的关键词(如异常信息)查询相关解决方案。

成功运行项目中的第一个基本示例后,您可以尝试运行更复杂的功能示例。

笔者建议创建一个单独的项目,并通过功能示例一一完成整个项目。随着这个项目变得越来越有成就感,证明你有更多的控制权。在学习过程中,将自己的学习经历记录在笔记中,方便以后复习。

2 阅读源码

阅读源码是深入理解开源项目最重要的一步

在阅读源代码之前,请尝试从源代码构建项目。通常开源项目都会提供构建指南来指导您如何设置开发、调试和构建环境。构建成功后,尝试运行项目。

查看项目的建筑设计文件,梳理整个项目的骨架。您可以绘制流程图或UML图来加深您对项目的理解。

了解了整个项目的骨架后,我们就可以选择感兴趣的模块来阅读。例如,如果你对网络通信感兴趣,就阅读网络层的代码,深入研究实现细节,比如它使用了哪些库,使用了什么。什么设计模式,为什么这样做,等等。调试详细代码(如果有)。

阅读源码时,注意单元测试,尝试运行单元测试。基本上,一个好的单元测试会清楚地描述代码的功能和边界。

笔者在2014年系统地阅读了源码,当时RocketMQ 3.0刚刚开源,我对消息队列极其感兴趣。我也很想了解网络编程框架Netty是如何使用的。

那么,我们就从RocketMQ网络通信模块remoting开始学习吧。因为源码中有完整的测试用例,所以先运行单元测试来学习网络编码模型。

在学习网络编程的过程中,作者在思维上做出了两个突破:

▍1。客户端编程模型

RocketMQ 客户端网络通信有以下三种方式:

  • oneway : 单向发送

  • sync:同步调用

  • 回调:异步回调

许多技术思想都是相似的。下图展示了Ant开源通信组件sofa-bolt支持的调用类型。

相关文章