目前的Python SDK还有很大的提升空间可以进行规范,下面是一些建议。
- 文件夹命名。通常情况下Python比较少使用src,而是可以直接把feature flags co放在第一层。减少文件夹层次会让它简单很多。
- 版本号。目前已经到0.0.17的版本,看起来似乎出现了用小版本号不敢发布的问题,建议考虑0.1和1.0的明确计划。
- 模块划分和类设计。目前来看User类不是必须,使用一个模块或者一个类看起来没问题。命名方面,因为有namespace的存在,ffc的前缀是可以不要的。
如果保留现在的模块,对于User类和Client类的实现建议是:
- User类的custom属性使用kwargs传入,然后使用hasattr方法设置成属性。这样会比较符合用户对这个类的预期。
- Client的payload可以再User里实现,在client实例方法中调用。
- Client的variations方法似乎可以设法和variation共用代码逻辑,且命名不太容易区分。
其他还有一些小问题,比如
- User类的Exception没有指定具体类,不过这里直接让参数不带默认值就可以了。
- Client类的api base url类属性冗余了。这里的写法比较建议把URL和API路径统一放到一个模块,方便以后维护。此外也有一些小技巧可以让私有化部署使用SDK也很容易。
目前的Python SDK还有很大的提升空间可以进行规范,下面是一些建议。
如果保留现在的模块,对于User类和Client类的实现建议是:
其他还有一些小问题,比如