内网通 去广告 代码_软件开发新人要不要去看源码(尽量不要)

软件开发新人要不要去看源码(尽量不要)​mp.weixin.qq.com
de50abd7c756729690405c9b15d25258.png

不知何时开始,看源码好像成为了一种有技术的标签。我觉得这对新人可能形成误导。

新人,没怎么写过太多代码,对于复杂的情形没有处理经验,看源码也很难get到那个点。相反,富有经验的人就可以很快的以点带面把握住源码的实现理念。

比如我接触到的,rapidjson是使用移动语义来管理对象和内存的;VTK是使用智能指针+原始指针+成员函数+基类引用计数来完成内存管理和接口简化的;Qt是使用层次化的组成模式来管理内存的,使用this来注册释放者。以上三个库,使用了看起来几乎完全不同的动态内存管理方式。这个对于新人来说理解起来可能都不会很自在,甚至有些吃力。但是,如果一个新人对C++语言的复制控制理解深刻了以后,这些其实都很容易理解和接受,因为他们都是合理的,在特定的场景下都是恰当的。所以,新人不应该为了去学习一个库而去看它的源码,而应该始终抓住C++语言本身这个万变不离其宗的内核

为此,我一直推荐《C++ Primer》这本书给每一个人。学习一个库只需要两点:1 学会正确的使用,多看官方example;2 如果有理论知识需要补充的,再去补充理论知识。这两点就足够了,看源码是效率最低的方式。

如果你工作了,或者自己写了一些代码,遇到了一些困惑,那就再加另一本《Effective C++》,足够了。剩下的都交给实践就可以了。完全没必要看什么源码剖析。那种书的作者是不负责任的,至少对新人是不负责任的。我觉得那是在误导,让人觉得C++很难,有大量的奇技淫巧。而事实上,标准的C++写法,简洁明了,没有什么难的。比如我经常访问的帮助网站:http://www.cplusplus.com/reference/ 看了以后,谁会觉得C++需要奇技淫巧?任何语言的语法特性,在解决的问题复杂到一定程度的时候都要有一些必要设施。有人说珍爱生命,我学Python。我觉得这是一个不成熟的看法。其他语言看起来简单,只是开发的规模没上来而已。开发规模上来以后,开始的简单,可能是未来的灾难。从JavaScript到typescript就可以略见一斑。如果新人进了公司,就应该看公司的源码来学习,这是进步最快的。公司的代码既是业务代码,也是库的源码。如果一个新人善于调试,就可以在很短的时间掌握公司代码的逻辑,对业务和技术水平的提高都是立竿见影的。除了公司的代码,新人更应该自己私下里写一些简单的代码验证自己学到的技术或者理论。这样就可以真的掌握。这个对于没有入职的同学也是适用的。你只有自己写了,才会对很多理念提出自己的看法,才可能长进。希望对你有所帮助。欢迎分享给可能帮助到的同学。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值