如何读代码

作为程序员,如何读懂一段代码是我们必须要掌握的一项基本技能,而写代码则是吃饭的家伙,更是要勤学苦练。

对初学者来说,读懂一行代码并不是一件简单的事,遇到稍微涉及多个循环多个函数的代码往往就会看的晕头晕脑。

所以总结了一下方便初学者读代码的方法,希望大家可以参考。

  1. 看注释。
    注释的用途就是便于编程人员理解代码。多看注释能快速帮助你了解程序实现的功能及程序的组成模块等。
  2. 逐行分析。
    逐行阅读代码,尽量弄清每一句的含义。
  3. 善用调试。
    在调试模式下,我们可以很方便直白的看到随着每一行代码的运行,程序中各个变量的值是如何变换的,对程序的运行方向也有一个直观的了解。
    对于不能马上理解的代码也可以通过一步一步运行的方式来反复理解。
  4. 多敲代码。
    看完代码后不能就放着不管了,最好自己对一些模糊不清的地方进行编写练习,通过编写不能清晰理解的代码的过程,可以了解别人的编程思路,帮助
    自己理解别人的代码。

然后用一个简单的例子来实践上面的方法。

 1 //将一个数的质因数保存在集合中
 2 List<int> factor = new List<int>();
 3 while (number != 1)
 4 {
 5     for (int i = 2; i <= number; i++)
 6     {
 7         if (number % i == 0)
 8         {
 9             factor.Add(i);
10             number /= i;
11         }
12     }
13 }

可以看到在开头就有一个简单的注释,表示这段代码是用来保存一个数的质因数的。然后我们就要去了解质因数的意思

质因数素因数质因子):在数论里是指能整除给定正整数的质数

可以清楚的看到,我们需要求出所有能整除给定正整数的质数。然后我们就可以来理解这段代码了。

while (number != 1)

当数字不为1时开始循环

for (int i = 2; i <= number; i++)
{
    ......
}

循环条件为2到number之间

if (number % i == 0)
{
    factor.Add(i);
    number /= i;   break;
}

当number除以i能被整除时,保存i的值到集合中,同时number的值取number / i的值,就可以避免重复得出一个因数。然后跳出循环,从2开始重新寻找因数。

整个语段就能实现对一个数求质因数的过程。

通过逐步分析一般可以快速有效的理解代码的意思,如果不能理解则开启调试,更细致的看看变量值的变化。只要仔细,读代码就是一件很简单的工作。

时间: 2024-08-06 20:08:20

如何读代码的相关文章

读代码整洁之道想到的

1.勒布朗法则:later equals never 对于我来说:很多事如果往后拖的话,再重拾的几率就很小,所以要逼迫自己捉住现在,把手头的事情尽可能的做到尽善尽美,否则,日后只会越拖越远. 2.糟糕的代码所带来的深痛影响在于将来他会使你深陷泥沼 刚开始写的代码比较简单,但是后面要不断的添加功能,如果以前的代码写得十分冗余,以后再添加新功能所带来的麻烦将是不可估量的.所以代码一开始就要写的简单有效,为以后做铺垫. 3.态度:作为一个程序员,态度很重要:要以专业的态度来对自己的代码负责 4.命名:

《编写可读代码的艺术》读书笔记

表面内容 1.代码的写法应当是别人理解他所需的时间最小化.一条注释可以让你更快理解代码.尽管减少代码行数是一个好目标,但是八里街代码所需的时间最小化是一个更好的目标. 2.选择专业的词,比如函数名使用getxxx(),这个get没有表达出很多信息,是从缓存中得到?从数据库中得到?或者从网络得到?如果是网络,可以用更专业的fetchxxx()或者downloadxxx() 3.tmp,retval这样泛泛的名字,可以根据情况命名,比如tmpFile,让人知道变量是一个临时的文件.(tmp这个名字只

《编写可读代码的艺术》——简单总结

上个月好像冥冥中自有安排一样,我在图书馆看到这本 <编写可读代码的艺术> ( The Art of Readable Code) 期间因为工作的原因,停停看看,这几天终于看完了,可以大概总结如下: 1. 把信息装进名字里,给变量起个好名字 2. 审美,把代码分成段落,对齐 3. 应当取个好名字,而不是用注释去粉饰它 4. 用注释记录你的思想,比如当时为什么要这样写,记录开发过程中有哪些思考 5. 将自己代码中的不足和瑕疵记录下来,方便今后别人的维护,不要顾忌别人的看法! 6. 注释应该言简意赅

《编写可读代码的艺术》---变量和可读性

对变量的草率使用,会导致程序的难以理解,原因是以下几点 变量越多,就越难以全部跟踪他们的动向 变量的作用域越大,就需要跟踪它的动向越久 变量改变的越频繁,就越难以跟踪它的当前值. 下面来讨论如何改善这些问题. 1 减少变量 仅当我们需要的时候,才使用变量,下面将列举出一些没必要存在的变量的. 1.1 没有价值的临时变量 一般有经验的程序员是不会刻意写个没有价值的临时变量.造成临时变量没有使用价值的原因,可能是多次修修改改之后遗留的结果. 来个日期赋值的例子 DateTime now = Date

读代码还是读文档,来自知乎

题目是陈皓回答的,来自知乎.我只是希望更多的人看到. Jeff Atwood说过这么一句话:“Code Tells You How, Comments Tell You Why”. 其实,Jeff这句话并不准确,另外,我把其扩展一下—— 代 码 => What, How & Details文档/书 => What, How & Why 可见,代码并不会告诉你 Why,看代码只能靠猜测或推导来估计Why,是揣测,不准确,所以会有很多误解.而且,我们每个人都知道,Why 这个东西是

第一次编写简单的中间件测试工具(2) - 读代码的方法

加入新员工训练营的有开发也有测试,大家的coding水平参差不齐. 我发现一个问题,就是当面对一个新学的语言时,我们这期训练营里除了我以外所有的测试人员甚至一些开发人员都不会读代码,不知道怎么去读,或者虽然读了,却一知半解,毫无效率. 首先分享一下我读代码的方法供从手工测试转自动化测试的同学们参考(可能各人思维模式不同,仅供参考): 我读代码时的思维方式属于一级一级严密的逻辑思维,所以一旦我的逻辑链中间断掉,我就不能理解这些代码. 一句话总结:先跑起来,再调试,理解原理,掌握细节. 第一步,看有

读代码

其实我开始读源码才几天时间,但有点心得,就写出来吧,以期抛砖引玉. 阅读源代码的利弊我不谈,我只说该如何读 首先是积累,当到了一定条件,你会迫不及待的想要去读,因为你想拥有程序的控制权 我把一份陌生的源代码比做一个陌生的城市,你将在里面熟悉道路, 你只要从一个大的标志开始进入(程序入口点)然后你面临很多分支,有的分支很明显的(依靠设计模式,oo,模块化,结构化,解耦,经验判断,当然还有文档,注释,别人的源码分析文章)与其它没有什么瓜葛,或者只有几个联系点,其实是一个模块化功能,就像你知道有一条路

编写可读代码的艺术笔记

编写可读代码的艺术 表面层次上的改进 命名.注释以及审美--可以用于代码库每一行的小提示. 简化循环和逻辑 在程序中定义循环.逻辑和变量,从而使得代码更容易理解. 重新组织你的代码 在更高层次上组织大的代码块以及在功能层次上解决问题的方法. 精选话题 把"易于理解"的思想应用于测试以及大数据结构代码的例子. 第1章:代码应当易于理解 1.代码应当易于理解. 2.代码的写法应当使别人理解它所需的时间最小化. 第一部分:表面层次的改进 第2章:把信息装到名字里 1.使用专业的单词. 2.避

读代码之htmlParser

在以前使用HtmlParser时,并未考虑过遇到org.htmlparser.tags之外的Tag怎么处理.直到碰到这样的一个标签,如果不加处理,HtmlParser无法对其进行处理.查阅自定义标签之后才明白,控制HtmlParser解析网页结构的是,PrototypicalNodeFactory implements NodeFactory.每一种Tag都需要在NodeFactory中注册一下(registerTag()).默认注册org.htmlparser.tags中的所有Tag.如果有自