Introduction
python虽然是强类型语言(对此说法有异议,自行google),但同时又是动态语言。其灵活性带来的缺点就是不能像静态语言那样在编译期间通过静态类型检查”过滤”掉一部分错误。
我们目前的项目中,有两个地方需要进行类型检查。1是作为提供接口的server,要对请求json的字段缺失,参数类型和值范围进行校验。2是对某个函数的参数和返回值进行校验。这里把自己在项目中的一些处理经验拿出来分享,如有错误和不足,还望指正。
请求参数校验
请求参数校验会遇到这样几个问题:
为了重用和方便修改,你需要将它们“格式化”
你需要将错误原因返回给调用者或打印到日志,还不能写太多麻烦的代码
我的解决办法是使用“表驱动”的方法,将检查过程制作成可配置的。
比如下面是一段请求服务器的json字符串: