gpt4 book ai didi

python - 如何在 Python 中检测(静态分析代码)魔数(Magic Number)?

转载 作者:太空宇宙 更新时间:2023-11-04 04:29:59 26 4
gpt4 key购买 nike

谷歌搜索“pylint 魔数(Magic Number)”没有返回任何有用的信息。有什么方法可以为 magic numbers 整理 Python 代码吗? ?

(我输入了 但答案可以在任何 Python linter 中。)

最佳答案

最简单的方法是构建一个 Python 语言分词器,并挑选出所有常量分词。

我们的源代码搜索引擎从大量文件中跨语言标记进行搜索,由语言标记器驱动(它有大约 40 个这样的标记器,包括 Python 2 和 3)。一种通过声明对 token 序列的约束来形成查询,例如

 I=*abc* '('

意思是“查找包含字母‘abc’后跟左括号标记的标识符。”并打印出找到的实例。 [此类查询会自动忽略空格和注释标记]

您想要的查询可以表述为:

 N>2

意思是,假设 0 和 1 不符合魔术常量的条件,“查找值大于 2 的数字标记”。 (恕我直言,他们和其他人一样神奇,但有不同意见的余地,我想提供一个并非完全微不足道的例子)。

您可以使用词法分析器生成器(请参阅“Flex”)复制它,并在顶部使用一些自定义代码来过滤数字标记。

关于python - 如何在 Python 中检测(静态分析代码)魔数(Magic Number)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52845475/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com