首页 > 编程语言 >老生常谈!程序员为什么要阅读源代码?

老生常谈!程序员为什么要阅读源代码?

时间:2024-06-11 09:33:11浏览次数:13  
标签:Swoole 老生常谈 程序员 源码 阅读 面试 源代码

大家好,我是码农先森。

阅读源码这是一个老生常谈的话题了,但又是很多人想做又没有付出行动的事情。前段时间我研究了 Swoole 的源代码,并且输出了系列的源码分析文章「感兴趣的朋友可以翻阅以前的文章」。虽然这个过程很枯燥和艰难,但到最后有种苦尽甘来的感觉,因为突破了自己之前一直想做又不敢做的一件事情。可能有很多人会说了,平常的工作中又用不到,为什么要去学习呢?如果你发出了这样的疑问,那么你大概率是初入职场的小白,或者是一年经验用十年的资深程序员,这里所说的「资深」要打双引号了。

面试

面试造航母,入职拧螺丝。相信大家对这句话的精髓都深有体会,面试期间面试的问题都似乎要求面试者具备上能捅破天,下能钻地球的能力,既要上得了厅堂,又要下得了厨房。站在用人单位的角度来看「小孩子才做选择题,成年人全都要」。那为什么会出现这种现象呢?还记得要几年前互联网如火如荼的时候,编程培训行业如雨后春笋般的孵化出一批速成程序员,大量出现在人才市场,仅仅靠背几套面试题就能获得不错的薪水。

如今互联网行业人才市场饱和,直接加剧了程序员之间的内部竞争。想象一下如果面试官手里握着好几份候选者的简历,然而偏偏你理解底层源码,那面试官会向谁发放 Offer 呢?答案显而易见,这就是阅读源码在面试中的意义,它让你形成了差异化的竞争,在这个过程中能够脱颖而出。

职业

作为一名职业的程序员,想要在自己的领域能够获得稳定且长足的发展,阅读源码是一道必须跨过去的坎。初入职场的前三年基本上都是参与常规的业务需求开发,大多数都处于增删改查「俗称CRUD粘贴复制」的阶段。三年后会尝试组件封装、框架脚手架的搭建「也就是大家常说的造轮子」,并且时不时的指点下初级程序员,解决一些项目层面的问题。到达第五年的这个时间点,这是一个职业生涯的转折点。

具备这个阶段经验的程序员,对于绝大多数的需求开发都可以信手拈来轻松应对,如果想要谋求更高的技术造诣,就要从组件、框架,乃至语言实现层面的源代码做为着手点来进行提升。职业的发展都是一个不断攀升地过程,类似于游戏中的升级打怪,一关关的突破「关关难过,关关过」,只有突破了阅读源代码这一关,才能让自己的职业得到更好、更顺利的发展。

兴趣

大家常说:“如果把兴趣变成了职业,那将是一种灾难”。如果反过来呢?职业成为了兴趣,那是不是意味着职业上会获得更大成功?这个问题我还无法回答,因为我还没有成功。但这个观点并不妨碍有些人把阅读源码作为一种兴趣爱好,如果这样做能够驱动阅读源码这件事情得以坚持下去,同时满足了自己的兴趣,又能从阅读源码中获得知识,岂不是两全其美。

说实话阅读源码的确是一件很枯燥乏味的事,最近我在阅读 Swoole 源代码的过程中就深有感触,期间也有看不下去的时候,但是心里总是默念「这是自己的兴趣」这才让我坚持下来。虽说这不确信阅读源码是不是我的兴趣,但还是让我用兴趣的意念把这件事给完成了,通过阅读源码让我明白了「兴趣」的伟大。

结语

对于阅读源码这个老生常谈的话题,首先「面试」带来的是短期价值,它让我们在面试的过程中形成差异化的竞争,从而让我们脱颖而出。其次「职业」带来的是长期价值,它让我们在自己的领域能够获得稳定且长足的发展。最后「兴趣」带来的是一种信念,它让我们在困难面前能够有坚持下去的勇气和动力。总而言之,阅读源码是一件利大于弊的事情,希望大家能持之以恒的对待,坚持做具有长期价值且正确的事情。

推荐


欢迎关注、分享、点赞、收藏、在看,我是码农先森。

标签:Swoole,老生常谈,程序员,源码,阅读,面试,源代码
From: https://www.cnblogs.com/yxhblogs/p/18226534

相关文章

  • 程序员怎么样找用户需求
    需求,商业成功的启航点今天,我想与大家探讨一个话题:作为一个程序员,我们应如何探索并把握商机?通过生财,我们已经见识了多种赚钱的方式,但深入分析,任何项目的核心都逃不过一个基本框架:需求-产品/服务-流量-转化-交付-变现。需求是所有商业行为的出发点。如果我们能够针对特定群体......
  • 程序员如何高效挖掘市场需求
    如何高效发掘市场需求?那么,我们怎样能够高效地发掘市场的需求呢?首先,需要指出的是,在挖掘需求时,最好基于个人已有的行业背景或对某个行业的深刻理解来进行。这样做主要有两个原因:对于我们已经熟悉或正在从事的行业,借助于丰富的经验和知识,我们可以更快地识别出哪些需求是真实且......
  • 优秀的程序员不是你的尽头,而是起点
            大家好,我是神仙约架,普通本硕毕业,有着10多年编程经验的“老”程序员。我曾独立挑起大梁,承接过各种项目,为公司解决了不少棘手的问题。今天,我想以一位过来人的身份,给刚踏入编程世界的你们一些建议,希望能帮助你们在这条充满挑战与乐趣的道路上,走得更远。    ......
  • 码农危是否到来? AI大模型时代到来程序员能做啥?
    前言“马斯克提到人工智能会让工作变得毫无意义,并建议人们可能需要去编写人工智能程序,以避免被AI剥夺就业”,AI大模型的爆发,各种自动化编码应用工具,AI机器人出现,“前有2023年2月份,ChatGPT通过谷歌L3入职测试,获得18万美元offer”!人类码农危是否到来?"近有百度在2024Create......
  • 24年应届程序员副业/外快计划
    个人介绍背景:24年毕业生,专业是计算机毕业后从事的工作也是计算机方面,岗位是安全工程师能力:Python、Golang、Java、Vue、小项目开发证书:云计算市赛三等奖、CCNP证书、NISP二级证书爱好:折腾电子产品、网络设备、养水族(水草造景)想法的产生:今年的毕业就业环境没以......
  • 天才程序员周弈帆 | Stable Diffusion 解读(二):论文精读
    本文来源公众号“天才程序员周弈帆”,仅用于学术分享,侵权删,干货满满。原文链接:StableDiffusion解读(二):论文精读【小小题外话】端午安康!在上一篇文章天才程序员周弈帆|StableDiffusion解读(一):回顾早期工作-CSDN博客中,我们梳理了基于自编码器(AE)的图像生成模型的发展脉络,并......
  • Python模拟时钟演示及源代码
     turtle是Python中的一个模块,用于绘图和图形设计。它提供了一个简单的绘图窗口,可以绘制各种形状、线条和颜色等。通过使用turtle模块,我们可以在屏幕上实时地绘制图形,并且可以控制画笔的移动、旋转等操作。 2、使用示例下面是一个简单的使用turtle模块绘制一个正方形的......
  • springboot+vue在线考试系统附带文章和源代码部署讲解等
    文章目录前言项目运行效果截图技术栈后端springboot框架:后端mybatis框架:前端框架vue:数据库mysql:开发环境代码参考数据库参考源码质量保障源码获取前言......
  • springboot+vue养老院管理系统附带文章和源代码部署讲解等
    文章目录前言项目运行效果截图技术栈后端springboot框架:后端mybatis框架:前端框架vue:数据库mysql:开发环境代码参考数据库参考源码质量保障源码获取前言......
  • springboot+vue医院管理系统附带文章和源代码部署讲解等
    文章目录前言项目运行效果截图技术栈后端springboot框架:后端mybatis框架:前端框架vue:数据库mysql:开发环境代码参考数据库参考源码质量保障源码获取前言......