代码阅读(Coders at Work )
代码阅读方法与实践
Code Reading: The Open Source Perspective
全宇宙只有一个miao
Talk is cheap. Show me the code.
展开
-
《代码阅读方法》--全书总结
一、本书目标:能够阅读和理解重要软件的代码;领会许多重要的软件开发概念;知道如何探索大型的代码体;拥有大多数重要的高级、低级编程语言的阅读能力;认识到现实软件项目的错综复杂性;二、 为什么要阅读代码?修复,检查,改进现有的代码;发现它的的运作机理;提取可以重复利用的资源;(一)低品质代码低品质代码的特征(避免):编程风格不一样;结构不必要的复杂或难以理解;明显的逻辑错误或疏忽;过度使用不可移植的构造;缺乏维护;低品质的代码不需要再阅读浪费时间,因为现在高品质的原创 2020-05-16 20:55:29 · 356 阅读 · 0 评论 -
《代码阅读方法》---笔记(第十一章)
第十一章:一个完整的例子代码阅读和代码理解技术模仿软件的功能时,要依照相似实体的线路(类、函数、模块)。在相似的现有实体中,为简化对源代码库的文本查找,应选取罕见的名称。自动生成的文件常常会在文件的形状有一段注释,说明这种情况。如果试图精确地分析代码,一般会陷入数量众多的类、文件和模块中,这些内容会很快将我们淹没;因此,我们必须将需要理解的代码限定在绝对必需的范 围之内。采用一种广度优先查找策略,从多言攻克代码阅读中存在的问题,直到找出克服它们的方法为止。这本书到这里就是最终章啦!..原创 2020-05-16 19:04:49 · 218 阅读 · 0 评论 -
《代码阅读方法》---笔记(第十章)
第十章:代码阅读工具1.心态与环境可以试着向别人介绍您在阅读的代码,这样做一般会增进您对代码的理解。理解复杂的算法或巧妙的数据结构,要选择一个安静的环境,然后聚精会神地考虑,不要借助于任何算机化或自动化的帮助。2.代码阅读工具的运用使用源代码浏览器浏览大型的代码集合以及对象类型。通过分析相应目标文件中的符号,可以清晰地源文件的输入和输出。要抵制信按照您的编码规范对外部代码进行美化的诱惑;不必要的编排更改会创建不同的代码,并妨碍维护工作的组织。优美打印程序和编辑器语法着色可以使得程序的源原创 2020-05-15 19:02:38 · 250 阅读 · 0 评论 -
《代码阅读方法》---笔记(第九章)
第九章:系统构架1.构架总览要详细分析建立在某种框架之上的应用程序,行动的最佳路线就是从研究框架自身开始。在阅读向导生成的代码时,不要期望太高,否则您会感到失望。多数情况下,参考构架只是为应用程序域指定一种概念性的结构,具体的实现并非必须遵照这种结构。一个系统可以(在重大的系统中也确定如此)同时展示出多种不同的构架类型。以不同的方式检查同一系统、分析系统的不同部分、或使用不同级别的分解 ,都有可能发现不同的构架类型。大型的、分布式的系统经常实现为许多互相协作的进程。识别出重要的构架元素后,原创 2020-05-12 19:41:26 · 324 阅读 · 0 评论 -
《代码阅读方法》---笔记(第八章)
第八章:文档1.常见的开发源代码文档格式文档两种类型:二进制文件:他们的生成和阅读都要使用专利产品,如:Microsoft Word或Adobe FrameMaker;文本文件:其中包含标记语言(markup language)形式的结构和格式化命令。2.文档种类系统的规格说明文档(system specification document):详细描述系统的目标、系统的功能需求、管理和技术上的限制、以及成本和日程等要素,了解所阅读代码的运行环境.软件需求规格说明(software re原创 2020-05-11 16:17:06 · 875 阅读 · 0 评论 -
《代码阅读方法》---笔记(第七章)
第七章:编码规范和约定关于代码规范建议去阅读阿里出品的泰山版《Java开发手册》https://developer.aliyun.com/topic/java2020?utm_content=g_10001133211.格式规范阅读代码时,首先要确保您的编辑器或优美打印程序的tab设置,与代码遵循的风格规范一致。可以使用代码块的缩进,快速地掌握代码的总体结构。对于编排不一致的代码,应该立即给予足够的警惕。2.命名规范常量使用大写字母命名,单词用下划线分隔。在遵循Java格式的程序中,原创 2020-05-10 19:00:46 · 818 阅读 · 0 评论 -
《代码阅读方法》---笔记(第六章)
第6章:应对大型项目1.梳理项目结构层次我们可以通过浏览项目的源代码树--包含项目源代码的层次目录结构,来分析一个项目的组织方式。源码树常常能够反映出项目在构架和软件过程上的结构。应用程序的源代码树经常是该应用程序的部署结构的镜像。不要被庞大的源代码集合吓倒,它们一般比小型的专门项目组织得更出色。当您首次接触一个大型项目时,要花一些时间来了解项目的目录树结构。2.编译与配置项目的源代码远不只是编译后可以获得可执行程序的计算机语言指令;一个项目的源码树一般还包括规格说明、最终用户和开发人员原创 2020-05-10 17:40:40 · 886 阅读 · 0 评论 -
《代码阅读方法》---笔记(第五章)
第五章:高级控制流程1.递归采用递归定义的算法和数据结构经常用递归的函数定义来实现。推理递归函数时,要从基准范例测试开始,并论证每次递归调用如何逐渐接近非递归基准范例代码推理归调用等同于一个回到函数开始处的循环。2.并行管理在多处理器计算机上运行的代码常常围绕进程或线程进行组织。工作群并行模型用于在多个处理器间分配工作,或者创建一个任务池,然后将大量需要处理的标准化的工作进行分配。基于流水线的并行处理中,每个任务都接收到一些输入,对它们进行一些处理,并将生成的输出传递给下一个任务,进行原创 2020-05-08 23:11:47 · 250 阅读 · 0 评论 -
《代码阅读方法》---笔记(第三、四章)
第三章第四章为C语言部分,贴出原文,不予总结。第三章:高级C数据类型1.了解特定语言构造所有服务的功能之后,应能够更好地理解使用它们的代码。2.识别并归类使用指针的理由。3.在C程序中,指针一般用来构造链式数据结构、动态分配的数据结构、实现引用调用、访问和迭代数据元素、传递数组参数、引用函数、作为其他值的别名 、代表字符串、以及直接访问系统内存。4.以引用传递的参数可以用来返回函数的结果,或者避免参数复制带来的开销。5.指向数组元素地址的指针,可以访问位于特定索引位置的元素。6.指向数组元素原创 2020-05-08 22:15:59 · 420 阅读 · 0 评论 -
《代码阅读方法》---笔记(第二章)
第2章:基本编程元素基于原文是分点来的,这里我尽量整理一下语言和文字方式便于大家联想记忆。1.开始概要:从main开始,运行程序理解功能,理解命名规定可以帮助猜测对应功能,一个程序从重要核心部分开始。第一次分析一个程序时,main是一个好的起始点。要想了解程序在某一方面的功能,运行它可能比阅读源代码更为恰当。在分析重要的程序时,最好首先识别出重要的组成部分。了解局部的命名约定,利用...原创 2020-05-07 21:25:04 · 230 阅读 · 0 评论 -
《代码阅读方法》---笔记(第零、一章)
第零章-综述每个程序员都需要提高代码阅读的技能与技巧,进而从现有的优秀代码、算法、架构、设计中汲取营养,提高自身的开发与设计能力。阅读代码相关的概念:编程构造、数据类型、数据结果、控制流程、项目组织、代码规范、文档和构架。第一章-导论1. 为什么要阅读代码?多数情况下,如果您想要了解“别人会如何完成这个功能呢?”,除了阅读代码以外,没有更好的方法。要养成一个习惯,花时间阅读别人编写的高品...原创 2020-05-06 23:40:50 · 172 阅读 · 0 评论