《代码阅读方法》---笔记(第零、一章)

第零章-综述

每个程序员都需要提高代码阅读的技能与技巧,进而从现有的优秀代码、算法、架构、设计中汲取营养,提高自身的开发与设计能力。
阅读代码相关的概念:编程构造、数据类型、数据结果、控制流程、项目组织、代码规范、文档和构架。

第一章-导论

1. 为什么要阅读代码?

多数情况下,如果您想要了解“别人会如何完成这个功能呢?”,除了阅读代码以外,没有更好的方法。要养成一个习惯,花时间阅读别人编写的高品质代码。 (读好书、多读书) 就像阅读高品质的散文能够丰富词汇、激发想象力、扩展思维一样,分析设计良好的软件系统的内部结构可以学到新的架构模式、数据结构、编码方法、算法、风格和文档规范、应用程序编程接口(API),甚至新的计算机语言。阅读高品质的代码还可以提高您编写代码的水准。

2. 阅读代码前的准备工作?

有所侧重,阅读代码前想好自己的主要目标:是想学习新的模式、编码风格、还是满足某些需求的方法?搞清楚为什么要阅读代码: 学习架构、学习业务、学习模式、学习编码风格、学习类库… … 制定目标,对自己要有要求。

3. 阅读代码方法(2种)

阅读后形成自己的理解->修改验证自己理解的正确性->改进、增加功能
(1)一种积极地阅读代码的方式主动的修改代码来检验您对代码的理解是否正确。再次强调,要从小的改动做起,逐渐地增大他们的范围。通过积极地介入现实的代码,您能够快速地从中了解到新环境的一些基本情况。当您认为已经掌握了他们之后,要考虑投入一些努力(可能要需要投入一些资金)、采取更优组织的方式来学习该环境。阅读相关的书籍、文档或手册,或者参加培训课程;这两种学习方式互相补充。
(2)另一种积极地阅读现有代码(作为文献)的方式是
改进它
。如果代码对您或您的团体有价值,请考虑如何来改进它。这可能涉及到使用更好的设计或算法、为某些代码编制文档,或增加功能。开放源代码项目中的代码常常没有很好地编制文档;请将您对代码的理解应用到改进文档上。

4. 阅读、改进大型系统的步骤

(1)了解功能
对于那些大型且组织良好的系统,您只需要最低限度地了解它的全部功能,就能够对它做出修改。(一个系统可能有几十个模块,只需要了解与问题相关的模块,就有可能把问题解决,但首先必须模块设计合理)
(2)新增功能(找到系统中类似功能部分作为模板)
当向系统中增加新功能时,首先的任务就是找到实现类似特性的代码,将它作为待实现功能的模板。(做一个新功能首先考虑到的是有没有类似的 模板或例子,有类似模板或例子可以提供借鉴,让你如何实现该功能有更加深入的认识)
(3)快速定位代码
从特性的功能描述到代码的实现,可以按照字符串消息,或使用关键词来搜索代码。
在移植代码或修改接口时, 您可以通过编译器直接定位出问题涉及的范围,从而减少代码阅读的工作量。
(4)单元测试是必要的
进行重构时,您从一个能够正常工作的系统开始做起,希望确保结束时系统能够正常工作。一套恰当的测试用例可以帮助您满足此项约束。(测试用例很关键)
阅读代码寻找重构机会时,先从系统的构架开始,然后逐步细化,能够获得最大的效益。(由宏观到微观,由上到下一种方法)

5.其他细节

阅读代码寻找重构机会时,先从系统的构架开始,然后逐步细化,能够获得最大的效益。
代码的可重用性是一个诱人的,但难以掌握的思想;降低期望就不会感到失望。
如果您希望重要的代码十分棘手,难以理解与分离,可以试着寻找粒度更大一些的包,甚至其他代码。

参考:
https://blog.csdn.net/weixin_42561498/article/details/87378105
https://blog.csdn.net/weixin_30778805/article/details/95941141

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值