源码分类
 

[源码资讯] 如何找到适合自己阅读的源码

40
回复
1117
查看
  [复制链接]

14

主题

0

帖子

2475

积分

高级会员

Rank: 4

积分
2475
发表于 2019-6-8 15:04:39 | 显示全部楼层 |阅读模式
看到「为什么我们要阅读源码?」文章写的非常不错,所以就转载了。有些同学可能看的一脸懵逼,其实这很正常,这篇文章写的都是理论和方法,缺少源码阅读的实践。只有在你源码阅读达到一定的量以后,你才会真正明白这篇文章是对阅读源码很好的归纳和总结。
p7F3EkUtFt7Dg3UF.jpg
我这里把这篇文章精简一下,稍微帮助大家回顾一下重点,然后扩展一下思路,讲解一下如何找到适合自己阅读的源码。
一、为什么要阅读源码,why?
学会基础的语法和试验了若干 example 后,我们就火箭般蹿到了自己写代码打怪赞经验的阶段。这样略过大量阅读代码的阶段有三个害处。

  • 写代码的基础是不牢靠的,打怪升级的过程也是最慢的。道理很简单 —— 前辈们踩过的坑,总结的经验教训,你都不得不亲自用最慢的法子一点点试着踩一遍。
  • 很容易养成 stackoverflow driven 的写代码习惯 —— 遇到不知如何写的代码,从网上找现成的答案,找个高票的复制粘贴改吧改吧,凑活着完成功能再说。写代码的过程中遇到问题,开启调试模式,要么设置无数断点一步步跟踪,要么到处打印信息试图为满是窟窿的代码打上补丁,导致整个写代码的过程是一部调代码的血泪史。
  • 你周围最强的那个工程师的开发水平的上限就是你的上限。
二、如何阅读源码,how?
读书一般分不同的场景:想要让自己明智,读史;想要让自己灵秀,读诗;想要让自己周密,研习数学;想要让自己深刻,攻读哲学等;同样的道理,代码的阅读也分不同的场景,不同场景下的阅读方法自然不同。

  • 为了破案而阅读代码;专注,集中力量攻击且仅攻击一点是这样场景下阅读代码的主要方式。
  • 为了明理而阅读代码;经验值增长太慢,要想涨快点怎么办?主动出击啊!计算机领域的很多算法,基础知识,理论,在看过书,读过文章后我们都似懂非懂,这时,阅读代码就是最快地巩固和加深理解的方式。
  • 为了能级跃迁而阅读代码;打破平台期,成就能级跃迁,你需要吸收合适的「光子」。这光子可以是一个开天辟地的项目(比如说 Google 的 Google Map,docker 的 docker,阿里的淘宝等),可是这样的机会并非总能被你我赶上,大多数人都是在日复一日地做些并不起眼的,只能缓缓升级的小活,这时候,与其默默沉沦,不如学庄子口中的北冥之鱼那样,沉潜浮动,积蓄能量,等待下一次抟扶摇而上九万里。这种积蓄能量为跃迁准备的一种方式是读代码。读什么?读那些基础地不能再基础,你认为自己一辈子都不会去写的那些代码。比如 linux kernel,比如 OTP。
三、如何找到适合自己阅读的源码?
明白阅读源码的重要性以及方法后,重要的就是实践,阅读期间必然会遇到各种困难,尤其是没有人一起探讨时,更容易放弃,开发者圆桌会整理一系列关于阅读源码的实践文章与大家一起阅读、探讨、总结,坚持源码阅读,坚持更高级的进步。
要阅读源码自然要获取源代码才行,我们去哪里找到适合自己阅读的源码呢?开源组织或平台是一个不错的选择,这些组织或平台管理着大量的源码资源和说明文档,对我们阅读源码是非常宝贵的资源。下面列举几个比较知名的源码平台:
1. GitHub
GitHub是一个面向开源及私有软件项目的托管平台,因为只支持 Git 作为唯一的版本库格式进行托管,故名 GitHub。
GitHub 于 2008 年 4 月 10 日正式上线,除了 Git 代码仓库托管及基本的 Web 管理界面以外,还提供了订阅、讨论组、文本渲染、在线文件编辑器、协作图谱(报表)、代码片段分享(Gist)等功能。目前,其注册用户已经超过350万,托管版本数量也是非常之多,其中不乏知名开源项目 Ruby on Rails、jQuery、Python 等。访问地址:http://github.com/。
2. Apache
软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为运作一个开源软件项目的Apache 的团体提供支持的非盈利性组织,这个开源软件的项目就是 Apache 项目。访问地址:http://www.apache.org/。
3. 基础库
各编程语言的基础库,比如Java语言的JDK就是一个非常不错的源码库,可以学到很多大师级的代码实现逻辑和写法。
短时间内,可能无法确定自己应该阅读哪些源码,我觉得可以从以下三个方面着手考虑:

  • 工作相关的;阅读与自己工作相关的源码,可以在实际工作中学以致用。
  • 感兴趣的;兴趣是最好的老师,可以推动你探索更多的未知源码世界。
  • 职业规划相关的;根据自身职业发展规划阅读相应的源码,比如要成为架构师、技术总监那么就需要阅读与该职业相关的源码和文档资源。
【本文为51CTO专栏作者“朱国立”的原创稿件,转载请通过作者微信公众号“开发者圆桌”获取联系和授权】
戳这里,看该作者更多好文

0

主题

2814

帖子

5058

积分

金牌会员

Rank: 6Rank: 6

积分
5058
发表于 2019-6-9 16:00:00 | 显示全部楼层

0

主题

2753

帖子

4888

积分

高级会员

Rank: 4

积分
4888
发表于 2019-6-10 17:54:02 | 显示全部楼层
太兴奋了,终于找到了。

0

主题

3055

帖子

5490

积分

钻石VIP

Rank: 10Rank: 10Rank: 10

积分
5490
发表于 2019-6-11 18:42:20 | 显示全部楼层
支持你,楼主

0

主题

2782

帖子

4929

积分

高级会员

Rank: 4

积分
4929
发表于 2019-6-11 21:03:54 | 显示全部楼层
太兴奋了,终于找到了。
发表于 2019-6-13 16:10:36 | 显示全部楼层
高人啊,感谢分享!

0

主题

2839

帖子

5104

积分

金牌会员

Rank: 6Rank: 6

积分
5104
发表于 2019-6-13 16:11:27 | 显示全部楼层
支持你,楼主

0

主题

2698

帖子

4803

积分

高级会员

Rank: 4

积分
4803
发表于 2019-6-14 16:07:46 | 显示全部楼层
很好的,楼主真高啊!~~
发表于 2019-6-14 19:04:59 | 显示全部楼层
太好了!

0

主题

2793

帖子

4970

积分

高级会员

Rank: 4

积分
4970
发表于 2019-6-15 16:43:32 | 显示全部楼层
支持你,楼主
您需要登录后才可以回帖 登录 | QQ注册

本版积分规则

官方微信

微信号:yyv8top

QQ1:1103770588

QQ2:2677628560

草根助力平台:

云牛品论坛

(工作日:周一至周五 9:00-16:00)
北京市YUNNIUPIN.com
WWW.VIP1ZW.COM

手机版- 云牛品源码,会员一折网,1元云购网商城官网,一站网官网,霸屏天下源码,站长源码下载,网站模板,源码交易

版权声明: 本站所有内容均由互联网收集整理、网友上传,并且以计算机技术研究交流为目的,仅供大家参考、学习,不存在任何商业目的与商业用途。 若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。 我们不承担任何技术及版权问题,且不对任何资源负法律责任。 如侵犯版权,请给我们来信提供版权信息:[email protected]

Powered by 云牛品 X3.4© 2014-2019yunniupin.com