如何阅读代码
这篇文章主要介绍如何正确阅读别人的代码。因为作者本人刚接触后端时也时常有一些这样的困惑:不知从哪里开始上手(理解代码),所以导致很长一段时间,都是随大流:看不懂,就敲到熟。这种思想对于每一个合格的程序员都是很不合理的。多敲代码的目的是为了快速熟悉编程环境,对编程小白尤为适合,但到了一定的阶段,就不能继续照着别人的敲了,需要先阅读,构思,再归纳,最后在一些需要巩固的地方再把代码敲几遍,现在作者将从这4个方面通过一些例子展开讲解如何阅读代码。
首先是阅读,阅读要有目的。比如说下面这个方法:
第一就是要看它的方法名是什么,Insert是“增加”的意思,Notice是“公告”的意思,Infor是information的前缀是“信息”的意思,所以这个方法是关于实现“新增公告信息”而编写的。再到参数列表,里面有什么,pwNotice是一个PW_NoticeTable类型的变量,还有一个就是 CarouselImage是一个接收文件的变量,还有一个就是字符串类型的变量noticeCarousel,总结起来就是,获取到的信息就是,这个方法执行之前要有PW_NoticeTable类型的成员、文件类型变量、字符串3个种数据要传过来。
然后就是构思,思考3个问题:代码为什么要按这种顺序写?能不能再简化或优化一些代码?自己怎么才能写出这个方法。按照上图看,作者本人列举一些自己曾思考的一些问题作参考:为什么UserID和UserTypeID要写在最前面?try…catch…代码几乎包揽了整个方法的异常,有哪些方法是会报异常的?…
带着这些问题去阅读下面4个region包揽的代码,阅读代码时可能会看着看着就忘记要思考什么问题,这是很常见的,解决办法就是新建一个文本文件,先把问题记下来,再去阅读,遇到一些难以理解的步骤又可以把新的问题加进文本文件,一两遍阅读下来,整个方法里的代码不懂的问题就全记在了文本里,把它们解决,再归纳一下,这个方法的阅读任务也就差不多完成了。
最后就是归纳,很简单,也会很轻松,因为在此之前,作者已经把所有问题都列举出来并解决了。剩下的就是类似“归类”一样的流程,也就是第502行写的内容
整段下来就3个部分,记住“归类”时要从整体上出发,要遵循在方法“只分一次类”的原则,就是其他步骤不能再因为任何关系而合并在一起,除了“新增公告信息”这一关系。
好了,希望这次分享会对你们有所帮助,谢谢。