如何找到适合自己阅读的源码

看到「为什么我们要阅读源码?」文章写的非常不错,所以就转载了。有些同学可能看的一脸懵逼,其实这很正常,这篇文章写的都是理论和方法,缺少源码阅读的实践。只有在你源码阅读达到一定的量以后,你才会真正明白这篇文章是对阅读源码很好的归纳和总结。

我这里把这篇文章精简一下,稍微帮助大家回顾一下重点,然后扩展一下思路,讲解一下如何找到适合自己阅读的源码。

一、为什么要阅读源码,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 等。访问地址:。

2. Apache

软件基金会(也就是Apache Software Foundation,简称为ASF),是专门为运作一个开源软件项目的Apache 的团体提供支持的非盈利性组织,这个开源软件的项目就是 Apache 项目。访问地址:。

3. 基础库

各编程语言的基础库,比如Java语言的JDK就是一个非常不错的源码库,可以学到很多大师级的代码实现逻辑和写法。

短时间内,可能无法确定自己应该阅读哪些源码,我觉得可以从以下三个方面着手考虑:

工作相关的;阅读与自己工作相关的源码,可以在实际工作中学以致用。感兴趣的;兴趣是最好的老师,可以推动你探索更多的未知源码世界。职业规划相关的;根据自身职业发展规划阅读相应的源码,比如要成为架构师、技术总监那么就需要阅读与该职业相关的源码和文档资源。

【本文为51CTO专栏作者“朱国立”的原创稿件,转载请通过作者微信公众号“开发者圆桌”获取联系和授权】

戳这里,看该作者更多好文

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:SEO优化专员,转转请注明出处:https://www.chuangxiangniao.com/p/903073.html

(0)
上一篇 2025年1月4日 03:11:37
下一篇 2025年1月4日 01:17:12

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • 中国云计算:未成曲调 已有硝烟

    继VR之后,云计算被捧热。尤其是在深圳,一个产业是否热门,有一个很重要的因素可以体现,就是能不能时常在街上听到有人在热论。很显然,云计算做到了。一连好多天,记者的腿都跑软了,各种云计算产业论坛、技术论坛,阿里腾讯轮番上场,岂止是热闹,简直就…

    编程技术 2025年1月4日
    100
  • Linux运维工程师必学必备的8项IT技能

    成长一名Linux工程师之后,才知道一路走来,背后的心酸。非常感谢支持我的同伴与老师,是你们鼓励我,坚持到底,才在这个行业立足。 如果你在学习Linux,那么强烈推荐你选择RHEL和Centos作为学习的Linux发行版本,在公司及企业当中…

    编程技术 2025年1月4日
    100
  • 《速度与激情8》中的信息安全技术

    今天跟女票下班之后直接去电影院看速8,当然看完速8之后并没有去速八而是直接回了家。首先对电影给个正面的评价,但是本人作为一个信息安全从业者,有必要扒一扒里面的黑客技术。 里面涉及到黑客技术的东西主要有两个——天眼(The Eye)和僵尸车队…

    编程技术 2025年1月4日
    100
  • 韩晓光:系统运维体系架构规划

    本文主要介绍运维体系与架构的设计规划,这将引导我们从一个高屋建瓴的角度去考虑如何组织运维团队,如何规划运维架构,用什么构建起运维架构,以及如何开展运维工作。 图1-1本文将会引入很多简明的运维实践示例来形象直观的告诉大家如何构建起运维体系。…

    编程技术 2025年1月4日
    100
  • Ceph RBD mirror介绍以及原理分析

    1.Ceph RBD mirror简介 Ceph采用的是强一致性同步模型,所有副本都必须完成写操作才算一次写入成功,这就导致不能很好地支持跨域部署,因为如果副本在异地,网络延迟就会很大,拖垮整个集群的写性能。因此,Ceph集群很少有跨域部署…

    编程技术 2025年1月4日
    100
  • 轻松搞定PDF图片编辑

    福昕阅读器领鲜版,除了进行PDF文档阅读外,还可以进行PDF文本编辑,PDF图片编辑修改等操作。很多小伙伴都不知道吧~今天小编就为大家介绍福昕阅读器领鲜版,是如何进行PDF图片编辑修改的; 在福昕阅读器领鲜版中,PDF文档编辑,分两大块,分…

    编程技术 2025年1月4日
    100
  • 学习Linux系统中命令的简单方法

    如果说如何快速学习、了解Linux的话,我的答案是学命令、背命令!为何呢?对于一名新手来说,去学习Linux的思想、了解Linux的架构、明白Linux中“一切皆文件”概念虽然说是没有错,是对的。但是个人认为去学习这些“高大上”的东西不是一…

    编程技术 2025年1月4日
    100
  • 软件开发常用的四种模式

    快速应用开发模式是一个比较精简的软件开发流程,可以以低投资成本生产高质量的软件。这种RAD流程可以使开发人员快速适应不断变化的市场需求。快速调整的能力可以帮助企业节省开发成本。快速应用程序开发模式分为四个阶段:需求规划,用户设计,构建和切换…

    编程技术 2025年1月4日
    100
  • 正确学习Linux系统的5个建议

    最近几年Linux系统应用越来越广泛,以至于很多人开始热衷学习Linux。但是我们都是从小都是学习windows系统长大的,从windows 98到现在的windows 10,而根据学习windows系统的经验来学习Linux,使很多人越学…

    编程技术 2025年1月4日
    100
  • QQ空间|qq人气号怎么赚钱?

    回报,付出的终极诉求,咱不论情怀。 在《怎么做一个QQ人气号》中,笔者大致提及,打造人气空间的流程,这里简单剖析下QQ人气空间的盈利模式。 关键词:转让,出售,广告,微商,合作,网红,接推广,客户,二次元,卖号。 以下模式,针对普通人气空间…

    编程技术 2025年1月4日
    100

发表回复

登录后才能评论

联系我们

156-6553-5169

在线咨询: QQ交谈

邮件:253000106@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

联系微信