一日一技:警告但不禁止,遗留代码的优化策略

谢乾坤|青南 at 
在之前的多篇文章中,我都反复告诫大家,不要滥用字典来传大量数据。因为当你的函数收到一个字典的时候,你根本不知道这个字典里面有哪些 Key,你必须有一层一层往上看,找到所有尝试往字典里面添加新 Key 的地方,你才能知道它总共有哪些 Key。但是,在正常公司项目中,我们可能会需要维护一些历史遗留代码。代码规模大,函数调用层级非常深。并且之前的人已经使用字典来传递了大量的数据。短时间内,我们没有办法直接把字典改成 Dataclass。那么我们能做的,就是尽量避免后续的维护者往里面加入新的 Key。我以前遇到过一个项目,它有一个字典,刚刚开始初始化的时候,只有 5 个 Key。这个字典作为参数被传入……