|
前言
有经验的开发人员都知道我们大部分都是基于别人的框架和系统来开发代码,比如开发一个应用,是基于OS来开发,开发一个游戏基于一个游戏引擎来开发。进入到公司里面以后开发一个业务逻辑也是基于公司的框架代码来开发,正因为这样,阅读别人的代码,变得非常的重要。
对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习unity的零基础小白,也有一些正在从事unity开发的技术大佬,欢迎你来交流学习。
学会阅读代码的好处有哪些?
1: 用好别人的代码,能节约成本,而阅读代码强,就是用好的关键。
2: 阅读别人的代码,能学习到很多设计技巧和模式。
我们很多人喜欢看名人故事,喜欢听名人的采访,想通过名人的一些故事来学习一些东西。对于程序员而言,学习大师的开发技巧,不是看大师的Blog,看大师的故事,而是阅读大师写的代码。比如Linus 是如何设计内核把成千上万的设备驱动管理起来的?等等这些思想我们都可以学习,在阅读大师写的代码的同时,自己能领会到很多的一些代码智慧与设计哲学。
3:阅读别人的代码,更容易让我们掌握相关的知识。
4: 阅读别人的代码能让我们积累很多代码工具模块。
阅读不同的代码的时候,我们可以从代码框架里面获取写的好的代码模块用到我们的项目中,比如红黑树,我一般就使用linux内核的红黑树,链表这些经典高效的数据结构都来自于一些经典的代码库。每每发现好的代码的时候,我都会把它们记录起来,以后可以用到自己的项目框架体系中。
如何阅读代码
要阅读一个庞大的代码或代码库,搞懂里面的内部逻辑,并很好的掌握他们用到项目中并不是一件简单的事情,那么如何搞懂搞透一个代码库呢?
1: 代码相关的编程语言一定要过关,能清楚的在脑袋里面执行代码。
2: 阅读代码要善于处理整体与局部的关系,先建立全局观。
我们阅读代码的时候,首先基于函数,基于模块等,可以先把整个逻辑屡清楚。先把逻辑流程梳理清楚以后,再去看具体的实现细节,而逻辑流程最好的就是通过函数名字,模块名字等来判断,先把整体的流程搞明白。再深入进去代码细节,不要一开始就深入细节,这样你没有一个全局观念。阅读代码的时候要学会用脑图记录起来整个的流程,一边阅读一边把逻辑屡清楚。屡清楚完逻辑以后,就对哪些环节,哪些入口就有了比较清晰的认识,然后结合数据和打印,把整个流程验证一遍。
3: 阅读代码一定要先找好入口,找出阅读的线索。
4: 阅读代码要学会搜索, 从搜索的结果中找到逻辑。
比如我们看到一个函数or类,我们想要看看整个都怎么使用的,通过这个函数,把整个流程找出来,那么我们就要从定义在哪里,调用在哪里都过一遍,这个时候你可以采用搜索的办法,把项目里面所有的代码都搜索一遍。搜索出来结果以后,你就知道在哪些地方调用了,然后一个一个的分析,一个一个的看,找出逻辑与线索。有时候我们的变量被赋值给其他的人,这个时候要搜索其他的,所以一个好的代码搜索阅读工具是非常必要的,我这边用的比较多的是sublime 和source Insight, 一般大项目我都用source Insight。
5: 开始阅读代码之前一定要具备相关的基础知识。
总之阅读好别人的代码取决你的基础,知识体系,以及耐心,这个不是一下就能提升的,需要在代码阅读中不断的总结,和阅读更多代码以及积累更多的行业知识,希望大家坚持下来,你能否走到系统分析师,架构师这个级别阅读代码是一个很重要的分水岭。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|