你的编程能力从什么时候开始突飞猛进?

标签: 技术成长, 知乎问答

保留所有版权,请引用而不是转载本文(原文地址 https://yeecode.top/blog/41/ )。

首先我们要明白一个道理:编程没有什么特殊的,它是”科学技术->技术->工程技术”中的一个小的类别。

明白了这一点,如何提升编程能力便变得显而易见了。因为,关于学习科学和技术,我们经历过十几二十年的训练。而且,这一训练是极有成效的(相比于国外的一些欢乐的训练方法,这里仅作提及,不展开争论)。

这时你可以回顾自己学习某一门课时,在什么时候有突飞猛进的感觉。

主要有两个阶段:

而其他的一些复习阶段、熟练阶段,则进步较小。常常许久感觉不到什么进步。

反映到编程上,也是一样的。一个人编程能力突飞猛进的阶段主要有两个:

所以,程序员进行了大量的编程作业,却没法收集到足够的反馈。这就像写完了作业,考完了试,但是没人老师给你批改,也没人告诉你正确答案。那你是很难进步的,因为你不知道自己做的对不对!

于是只能在莽撞的试错中前进,这就是成长缓慢的原因。

然而,各种原因,例如“教会徒弟饿死师傅”等,外加码农领域本来就是“年轻更吃香,年老被裁员”,所以,想获得前人的反馈难上加难。

但是,有一种反馈是存在的,或者,有一种标准答案可以被你拿来作为反馈。这种答案极为标准,比你周围大神写出的代码还要优秀!

对的,我说的是开源项目的源码。

优秀开源项目的源码经过了几千人的上万次修改,极为经典。这是极好的“标准答案”,就和课后习题的标准答案一样。

你要用这些优秀的开源源码作为答案去校准自己写的代码:

当你阅读源码时,你会不自觉地和自己的代码对比。在这个过程中,你就进步了。

好了,除了“学习基本编程知识、环境”外,另一个让自己编程能力突飞猛进的途径你已经知道了——阅读和学习优秀开源源码


或许,你早就知道了

只是,你难以坚持去读一份源码。

因为很难!真的很难。

一下面对那么多的代码,一团乱麻。

我曾经也站在这困难之前。

那时我已经是一名高级架构师,做过网站的技术负责人,也规划实现过很多系统。然后内心一直想知道自己的架构设计、编程实现和世界上最优良的架构设计、编程实现之间的距离有多大!

可是我知道,除了读源码,我找不到其他进步的路线了

于是我开始沉下心来,一个包一个包的拆解、一个类一个类的阅读、一行一行的分析。

最终,我收获极大,真的极大!

然后也总结了很多源码阅读的技巧、经验。

而后,出版社找到了我。之后我将这些经验技巧,都被汇聚成了一本书:

通用源码阅读指导书-京东自营

《通用源码阅读指导书》

​ 一本教你如何阅读源码,并从源码中吸取架构、编程知识的书籍。

自吹自擂的话都掠过吧,大家可以自行去看书籍介绍或者目录了解更多。

最后以书中前言的一段话结尾,共勉!

图片

所以,编程的进步之道就是:

多学,多练,但千万别忘了对答案!


对了,这本书也受到外方出版社的好评,并被台湾地区购买版权。接下来,将会在台湾等地发行繁体版。

图片

当然,我也在想。如果有一天,国内的计算机书籍能够发行英文版,就算是反向文化输出了,那应该厉害了。

这靠我们每位从业者的努力!

加油!

本文首发于个人知乎:易哥(https://www.zhihu.com/people/yeecode),欢迎关注。

作者书籍推荐