2014年11月14日
[知乎]当你读代码时在读什么?
谢邀
这其实是一个很有意思的问题,于是:我首先去读了一下题主贴出的那段程序,并且“同时注意反省自己在思考些什么”。
所以,当我发现题主现在又删除了那段代码的时候,感觉还是挺可惜的。
仔细回想一下,首先考虑的是:“这段代码是怎么执行的?”,为了得到答案,我会看变量名,然后看看这个变量是不是被用到,在哪里被用到的。
一开始,是一行一行的往下看,脑子里像一个暂存器,想着变量会怎么变化。然后,难免会发现不明白的问题,再上上下下的看。
如果还是不容易理解,就会试着折叠一些段落,看看能不能理解主要的路线。
有时候,会有些怀疑:这个代码没有bug吗?他的意思真的是这样吗?
搞不好,还是得放到IDE里,去尝试执行一下,确认看看:是不是真的没有bug。
如果要总结为一句话,那就是:“阅读代码,去理解这些代码究竟会做些什么事情,以及猜想代码的作者写出这些代码,打算做些什么事情。”
是的,代码会做什么,与作者打算做什么,可能是不一致的。