The Daily WTF 中文 关注 CodeSOD:知无不言 Delilah 对其工作场所发现的一个 Python 脚本进行了评审。该脚本试图合并 YAML 数据,实质上是用新配置更新旧配置。主要问题在于 key_exists 函数,它无谓地重新实现了 Python 内置的 in 运算符。该函数使用 try-except 块,相较于简单的 key in dictionary 惯用法,显得笨拙。脚本作者在同一个代码中不一致地混用了正确的 in 运算符和有缺陷的 key_exists 函数。代码的整体结构杂乱无章,类似于编写糟糕的 Shell 脚本。该脚本使用 yaml.load 读取并加载 YAML 文件,随后合并数据。其中包含一个名为 revert_db_tags 的函数,用于处理数据库标签更新。核心逻辑涉及比较旧 YAML 数据与新 YAML 数据之间的键和值。这些比较会触发对新数据的合并或特定的标签调整。最后,修改后的数据使用 yaml.dump 写回新的 YAML 文件。作者得出结论:该脚本编写质量低下,对 Python 内置功能进行了不必要的复杂化。 CodeSOD: In the Know thedailywtf.com The Daily WTF 中文 RSS thenote.app
key_exists函数,它无谓地重新实现了 Python 内置的in运算符。该函数使用 try-except 块,相较于简单的key in dictionary惯用法,显得笨拙。脚本作者在同一个代码中不一致地混用了正确的in运算符和有缺陷的key_exists函数。代码的整体结构杂乱无章,类似于编写糟糕的 Shell 脚本。该脚本使用yaml.load读取并加载 YAML 文件,随后合并数据。其中包含一个名为revert_db_tags的函数,用于处理数据库标签更新。核心逻辑涉及比较旧 YAML 数据与新 YAML 数据之间的键和值。这些比较会触发对新数据的合并或特定的标签调整。最后,修改后的数据使用yaml.dump写回新的 YAML 文件。作者得出结论:该脚本编写质量低下,对 Python 内置功能进行了不必要的复杂化。