这周完成了一个意料之外的工作,我把python的wtfroms, voluptuous,logging三个包的代码读了,还读得挺high的。
之前我一直觉得读源代码是件痛苦的事情,不过不知怎么的不怕了,还挺享受的。所以我总结了一下读代码的心得,分享一下。
阅读代码有两点最重要:
1. 理解。阅读程序最重要的是理解程序,包括几个方面:1)理解每行代码做了什么,2)理解作者设计的意图,3)考虑作者都没发现的问题。
2. 提出问题,解决问题。读到没有见过的库函数,遇到没有见过的语法,遇到没有见过的技术,先不要着急google,
先考虑一下你遇到的是什么问题,然后使用网络(google, stackoverflow)找答案,没有彻底解决的疑惑要用笔记下来,不放过疑问。
我现在来示范一下。
第一个遇到的问题,也是核心问题:
Q: wtforms是干什么的?
A: 它是解决html表单验证的工具。
(OK,可能你有更好的答案。不过在没读代码前,这可能是你能想到的最好的答案。当你对代码的理解加深了,你会有更好的答案的。)
我们来看一下代码的目录。docs,tests这些辅助都不是核心,不重要。gitignore文件,travis配置文件,python setuptools文件都不重要,略过它们,找到重点,重点在wtforms文件夹。

进入这个目录。
第二个问题是了解作者是如何分割各个模块的?
如何分割模块就是作者的想法了,要读懂代码得了解他的想法。

本文介绍了如何阅读计算机代码,以Python的wtforms和voluptuous库为例,强调理解代码和解决问题的重要性。阅读过程中,理解代码结构,如wtforms的form、field、validator和widget模块,以及通过调试和实际使用加深理解。同时,对比了wtforms与voluptuous在表单验证上的不同设计思路。
最低0.47元/天 解锁文章
1388

被折叠的 条评论
为什么被折叠?



