原视频:【Code Review】传参的时候有这么多细节要考虑?冗余循环变量你也写过么?
ArgumentParser
的使用:对于实际上是枚举类型的参数,最好设置choices
,以免非法值的错误太晚被raise
。此外,尽早parse_args
。**kwargs
的使用:不要滥用,很多时候需要显式给出参数,增加代码的可读性,也方便 debug。import
规范:三个 section,先 python 自带库,然后第三方库,最后本地库。先import ...
再from ... import ...
。同一个库写一行。section 内部按字典序排序。尽量避免from ... import *
。- 配置项:明文方式(
.py
、.json
、.yaml
)虽然易读、方便发布,但容易暴露隐私,只适合非敏感数据。对于敏感数据,更推荐使用环境变量。 - log:活用
logging
模块,便于 debug。 - 数据存储:避免使用字典存储数据,而是使用数据类,可以自定义类,也可以使用 pydantic 库等,容错性更高,也便于 debug。
Comments NOTHING