如何阅读别人的代码

##############################################

"""

阅读什么样的代码?
很难明确的说应该阅读什么样的代码,只能说有一些基本的原则:
1,阅读那些你用得着的代码
这一步最好从阅读那些你已经在使用的插件或者库文件开始。
这些都是你可以学习的非常好的例子。你已熟悉了它们的公共API,了解它们内部工作原理的障碍是较低的。此外,作为代码的用户,你有机会添加文档、实现新的功能,或者通常以某种方式给项目做贡献。

2,阅读那些你印象深刻的代码
你最近对什么项目印象深刻?是开源的吗?如果是这样的话,这是一个很好的阅读选择,因为代码很可能会给你留下深刻的印象。

3,阅读那些让你尊敬的大师写出来的代码

4,阅读那些能给你带来灵感的代码
选择小项目的代码,除非除非你是一个有经验的而且已经很会阅读别人代码的开发者了。
大型项目有更多的活动部件,你可能最终会因为这些概念而陷入困境,无法学到任何有价值的东西。困惑会导致沮丧,而更大的项目更有可能让你在阅读中感到困惑和气馁。选择一个小项目阅读的好处是可以一次将整个程序逻辑放在脑子里。这样你就可以关注细节,从而学习到很多知识。

"""

#############################################

"""

如何阅读别人的代码?
既然你已经选择了一些代码来阅读,那么最好的阅读方式是什么呢?下面提供一些方法来最大化你的投资回报率,也就是读的少,但是收获多。

1,先看大框架
假设你至少在宏观层面上知道你所读的代码是如何实现的。
如果没有,先阅读项目的网站、教程、文档,以及除了代码之外你可以掌握的其他任何东西。
第一步就是先大致浏览一下项目的架构。
这一步的目标是熟悉源代码。找出哪些文件包含/请求/加载其他文件,其中大部分代码在哪里,如果有的话,使用的命名空间是什么,以及这些性质。一旦你掌握了大局,你就可以深入挖掘细节了。

2,记录阅读心得
阅读代码不应该是一种被动的行为。当你开始理解程序流时,我鼓励你在开始时添加注释,记录你的假设和结论。当你第一次开始的时候,你的记录大概会是这样的:
随着你的理解进展,你可以删除你当时留下的无关紧要的一些评论,也许还可以写一些有意义的、权威的评论,这些评论可能会被提交给你的项目。

3,边阅读边测试
当你阅读别人的代码时,测试是一个很好的起点,因为他们记录了代码应该完成的任务。

4,亲自动手做
谁说阅读代码时双手就得闲着?只有当你把所有的东西都打乱了,然后自己试着重新拼装好时,才能在这个过程中真正理解。
还记得那些通过的测试吗?想办法让它们失败,添加更多,或者尝试更改实现的逻辑而不破坏它们。
尝试添加一个你认为很酷的小功能,或者设置项目范围的日志记录,这样就可以在代码的不同阶段打印输出。

5,清除再重复
一旦读完了一个代码库,再选一个,然后重新开始这个过程。代码读的越多,你就能从阅读中获取更好的信息,你花的时间就越少。我认为你会发现投资回报增长很快,而且这是一种非常有趣的学习方式。
"""

#############################################

#############################################

原文地址:https://www.cnblogs.com/andy0816/p/12344997.html

时间: 2024-10-13 17:23:44

如何阅读别人的代码的相关文章

如何通过阅读别人的代码提高自己的编程能力

代码阅读的必要性 阅读别人的代码作为研发人员是一件经常要做的事情.一个是学习新的编程语言的时候通过阅读别人的代码是个最佳的学习方法,另外是积累编程经验.如果你有机 会阅读一些操作系统的代码会帮助你理解一些基本的原理.更有就是在你作为一个质量确保人员或一个小领导的时候如果你要做白盒测试的时候没有阅读代码的能力 是不能完成相应的任务.最后一个就是如果你中途接手一个项目的时候或给一个项目做售后服务的时候是要有阅读代码的能力的. 收集所有可能收集的材料阅 读代码要做的第一件事情是收集所有和项目相关的资料

如何阅读修改别人的代码?

如何阅读别人的代码? 读代码的时间总是比写代码的时间更长 维护升级老代码或者同事突然离职交接, 读代码是必不可少的过程. 不夸张的说,可能没有人觉的读代码比写代码轻松. 但这又是工作中不得不面对的场景. 如果已有代码可以运行,那便跑起来看看 看看需求,知道这段代码干了什么事情,如果能够理解业务就更好了 看看数据库表结构.结合需求 一定会有数据,运行时候的数据对比数据库的数据更容易理解逻辑 看看已有的设计文档.更业务逻辑对应 根据功能分类一个一个的读代码吧 如何在已有基础上进行再次开发? 再次开发

接手别人的代码,死的心有吗?

团队里的程序员张三丰要离职,领导让你接手他的工作,叮嘱你一定要尽快掌握张三丰的代码.你的心儿扑通扑通地跳动,你的脑海里萦绕着三个选择:是拒绝呢,还是拒绝呢,还是拒绝呢?你强颜欢笑但实际上心烦意乱怨气纵横--接手别人的代码,那可是程序员要面对的最痛苦最可怕的事啊. 你记起江湖前辈黄药师说过的一句话:如果你恨他,就让他去接手别人的代码. 你的内心是拒绝的,可是你却不由自主地说出了"可以啊"三个字,于是你悲催的旅程拉开了序幕. 这,就是程序员的工作啊~~~~你有什么办法--你特别担心自己会被

如何阅读一份代码?

https://zhuanlan.zhihu.com/p/26222486 ****************************** 上文谈到了像读书一样阅读源码的重要性,今天谈谈如何阅读一份代码.我所谓的一份代码,其范围可能从几千行到数万行,有时甚至可多达数十万行.这些代码作为一个有机体,共同完成某些重要的功能.比如说几个著名的 full fledged web framework,祖师爷 rails,师叔 django 和小师妹 phoenix: 三者对比很有意思 - rails / d

如何读别人的代码

p { margin-bottom: 0.25cm; direction: ltr; line-height: 115%; text-align: justify; orphans: 0; widows: 0 } p.western { font-family: "Calibri", serif; font-size: 10pt } p.cjk { font-family: "宋体"; font-size: 10pt } p.ctl { font-family: ;

log下一次改别人的代码

有次接到个PM要改版一个功能的UI设计,前端童鞋还没敲定页面的时候,我先看了看这个功能的后台,我擦...简直是惨不忍睹..对PM来说是改版UI,对我这么有点代码洁癖的来说就是优化代码. 首先我能肯定的是,原来这个童鞋对面向对象理解的不太好..其次对代码的整合不够...我就简单log下.. 先说面向对象理解的问题,在一个入口方法里,去调用该类自己的私有方法,这里传参的时候竟然把类属性的值都传过去了..当时我就汗了,,显然在被调用的方法里,直接就可以获取这些类属性的值了..为什么还要去传呢... 再

Git Fork别人的代码后如同步别人的代码

在git上fork别人的代码后,如果别人代码有更新,自己fork的代码是不能自动更新的.需要手动操作. git remote -v 查看是否有远程分支的别名.例如:git remote -v 后显示如下,只有自己fork的路径.需要手动添加. origin https://github.com/bill1208/incubator-carbondata (fetch)origin https://github.com/bill1208/incubator-carbondata (push) gi

当年写的俄罗斯方块(现在更喜欢研究别人的代码)

这个东西大概是4年多前写的,那时写代码很疯狂,不知疲惫,一写就是好几万行.现在则更喜欢研究别人的代码,有时也写些测试代码,或者研究开源的东西.希望真正有些积累后, 再考虑写自己的东西. 感觉当时大的框架做的还行,源代码或许对新手有用. 源代码下载:sourceCode 上几个截图 单人游戏: 人机对战: 设置: posted on 2012-05-03 23:00 http://www.cppblog.com/weiym/archive/2012/05/03/173616.html http:/

自学C语言第二课——选择编译器并开始分析别人的代码

听说现在我在大学大学的同学普遍用的编译器是VC6.0,为了方便向他们请教,于是我刚开始决定选择VC6.0来学习.可是安装的过程出现种种问题,我又不想用绿色版,所以最后选择了安装极为方便的DEV-C++.我想要从分析别人的代码开始学起.同学向我推荐了一本书.然后,我就开始分析书里面的代码. 例题1: 通过百度和看我在大学的同学给我的资料,我认识到: 1.关于<stdio.h> stdio.h就是指“standardinput&output" 意思就是说标准输入输出头文件! 所以