首先我们要知道多读源码对我们有什么好处

  • 1.多读源码可以让我们自己写出结构更优质的代码。

很多优质源码的质量是经过考量的,也是经过多次优化的,并且大部分是稳定的。

  • 2.让我们了解到我们所用框架的优点缺点。

通过源码中的细节,我们能够了解到以何种方式去使用这个工具会给我带来最大化的利益。

  • 3.可以让我们对自己写的代码有更深层次的认识利于排查错误、性能调优。

我认为最重要的一点其实是第三点,如果我使用一种框架,我不了解它,那么发生了问题,肯定原因在我自己身上,而不是框架的问题。例如我使用了http协议去实现我的接口,但是我不了解它的实现原理,虽然给我减少了很多的工作量,但是一旦发生问题,我将无从下手。只能一点点的去试出正确的结果。我不可以说我使用了该种框架它就会帮我去屏蔽掉该种风险,风险依然是存在的(最好的情况莫过于让我去实现我也这么写,现在有人帮我写好了,我就可以省去测试的时间,直接拿来用)。

还有就是推荐学习东西还是需要多看书来了解知识,因为在我看来书中的内容相当于优质开源框架,是经过验证的正确知识,而大部分的博客内容包括我,就是我们自己平时写的一些代码,并未经过大量的测试。考虑N多的边界情况,它只需要实现我当前的业务逻辑即可。毕竟我们不是讲师,也不是为了出书,只是为了满足自己的兴趣爱好,或是为了日后复习记录一下。再者博客内容并不像书本知识循序渐进,大道至简。

程序员为什么要多读源码?相关推荐

  1. 为什么C/C++程序员都要阅读Redis源码之:Redis学习事件驱动设计

    0. 为什么我说C/C++程序员都要阅读Redis源码 主要原因就是『简洁』.如果你用源码编译过Redis,你会发现十分轻快,一步到位.其他语言的开发者可能不会了解这种痛,作为C/C++程序员,如果你 ...

  2. c++ 多线程 类成员函数_为什么我说C/C++程序员都要阅读Redis源码之:通过Redis学习事件驱动设计

    0. 为什么我说C/C++程序员都要阅读Redis源码 主要原因就是『简洁』.如果你用源码编译过Redis,你会发现十分轻快,一步到位.其他语言的开发者可能不会了解这种痛,作为C/C++程序员,如果你 ...

  3. Thinkphp5内核大型程序员交流博客系统源码

    介绍: Thinkphp5内核大型程序员交流博客系统源码 网盘下载地址: http://kekewl.cc/qGKM757akv40 图片:

  4. 为什么C/C++程序员一定要阅读redis源码?腾讯面试教你做人【linux服务器开发】

    为什么C/C++程序员一定要阅读redis源码?腾讯面试教你做人[linux服务器开发] 专注于服务器后台开发,包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastd ...

  5. 菜鸟程序员如何才能学会阅读源码

    阅读源码是每个优秀开发工程师的必经之路,那么这篇文章就来讲解下为什么要阅读源码以及如何阅读源码. 首先来说下为什么要读源码,有学习源码的必要吗? 为什么要阅读源码? 关于为什么阅读和学习源码,我个人认 ...

  6. 趣谈程序员真香定律:源码即设计

    来源 | 码砖杂役 责编 | Carol 封图 | CSDN 付费下载自视觉中国 我们经常谈论架构,讨论设计,却甚少关注实现和代码本身,架构和设计固然重要,但要说代码本身不重要,我不同意,Robert ...

  7. 【华为云技术分享】程序员真香定律:源码即设计

    我们经常谈论架构,讨论设计,却甚少关注实现和代码本身,架构和设计固然重要,但要说代码本身不重要,我不同意,Robert C.Martin大叔也不同意,Martin认为"源码即设计" ...

  8. 神级以下必读! ~程序员学习资料(图书源码) 01

     为表示感谢,少见的郑重声明:本文转自- http://blog.csdn.net/fanxiaobin577328725/article/details/51894331?locationNum ...

  9. Python开发指南[1]之程序员计时小时钟(附源码)

    Python开发指南[1]之程序员计时小时钟 程序之美 前言 主体 运行效果 核心代码 逻辑分析 结束语 程序之美 前言 Python作为一门编程语言,这门语言的魅力和影响力已经远超C#.C++等编程 ...

最新文章

  1. GitHub开源的10个超棒后台管理面板
  2. Senparc.Weixin.MP SDK 微信公众平台开发教程(十一):高级接口说明
  3. libevent中的缓冲区(一)
  4. java深度优先迷宫生成_通过深度优先搜索产生的迷宫的Java代码
  5. MS-SQL分页not in 方法改进之使用row_number
  6. 一、线性回归和逻辑回归
  7. php faker 中文,使用faker 生成中文测试数据
  8. 新买的锅要怎么处理?-新锅开锅处理
  9. 部署到gcp_剖析大数据公司为什么选择 GCP?
  10. mysql数据库中删除数据用什么语句_mysql数据库删除数据语句
  11. 编程迷宫_跟我学编程第十期——迷宫游戏
  12. 染整色差技术分析大全
  13. springboot 整合 mvc 配置外部静态资源
  14. MySQL指令集集合
  15. ModifyStyle()的用法
  16. 如何根据论文文章名称一键查询该篇论文的引用格式?
  17. C++学习心得:引用的详解
  18. Java并发工具Exchanger线程间交换数据
  19. Python-文件存储
  20. 2022-2028年中国300毫米自动探针台套件市场现状研究分析与发展前景预测报告

热门文章

  1. 微型计算机常用的worm是,具有多媒体功能的微型计算机系统中,常用的的WORM是()A.只读型大容量软盘B.只读型光盘C.一次性写...
  2. 开发的vscode插件,如何在用户卸载该插件时,删除该插件对应的文件
  3. 图铭Android平台银行卡号识别系统
  4. Unity2018版本报错问题解决方法
  5. 北上广深等多市同步招募!外企德科开启2022“一个月的CEO”项目
  6. jsp进行 i18n国际化配置
  7. Mac 自动化自动操作工作流程(AppleScript)完成日常软件文件网页一键打开
  8. c语言x1 x2 x3 x4的程序,求s=1x2x3+2x3x4+3x4x5+…+18x19x20的c语言程式怎么写
  9. 基于51单片机3208LED点阵电子钟C程序工程全套资料,毕业设计参考资料
  10. 基于 socketio 的 room 的使用