适用于Python的编写工具有哪些

Python中的静态类型
输入Mypy 。一个免费的Python模块,可让您在Python内部使用静态类型 。
点安装mypy之后,下面仅是一个使用示例:
# Declaring a function using normal dynamic typing, without mypy def iter_primes(): # code here # Declaring the same function with mypy static typing from typing import Iterator def iter_primes() -Iterator[int]: # code here在mypy示例中,我们指定该函数返回一个整数迭代器 。通过执行一致的输出,此简单的更改使该功能更适应未来的需求 。
其他开发人员只需查看声明即可查看输出将是哪种数据类型,并且与仅使用文档不同,如果不遵守该声明,您的代码将出错 。
这是一个非常简单的示例,摘自此处的示例,如果仍然没有意义,请检查一下它们 。
结果
很难列出静态键入可以减轻您将来痛苦的所有方式,但是mypy文档具有很好的常见问题解答,但有更多的利弊 。
如果您在稳定至关重要的生产代码库中工作,请绝对尝试一下mypy 。
秘密武器#3:使用Sonarlint更快地发现错误并编写更简单的函数
如今,每个编辑器都有某种类型的错误检查或内置的 lint。它通常在不运行代码的情况下查看代码,并尝试猜测可能出了什么问题 。这称为静态代码分析 。
动态代码分析实际上会尝试运行/编译部分代码以查看其是否正常运行,但会在后台自动执行 。实际上,它无需猜测,而是知道它是否可以工作以及确切的错误是什么 。
SonarLint处于最佳状态,是动态代码分析领域的佼佼者 。这些功能是我喜欢它的原因:
注释或未调用的代码
我对在整个代码库中留下打印语句,注释掉的代码以及未使用的函数感到内gui 。这将警告我,使其难以忘记,并告诉我它在哪里,易于查找 。
安全风险
实时将庞大的,不断更新的安全风险数据库扔到您的代码库中,警告您可能面临的任何已知漏洞 。
安全风险非常小众,无法记住,因此每个人都应该使用某种方法来跟踪这些风险 。SonarLint是一个不错的起点 。
永远不会执行的代码
与未调用的代码略有不同,如果我创建的评估结果无法达到,这将警告我 。这些问题很难发现,可能会导致数小时的调试,因此这是我最喜欢的警告之一 。
这是一个例子:
a = None if a == None or not a or a: this_will_always_get_called() else: # sonarlint will warn you about this line never being executed this_will_never_get_called()认知复杂性
我可以写一个完整的帖子,这是一个非常有趣的话题,实际上,上面有一个完整的白皮书 。
简单的解释是,他们创建了一个数学公式,可以对代码的阅读/理解难度进行评分 。
它不仅非常有用,而且易于遵循 。每当SonarLint要求我 降低认知复杂性 时,它都会附带一个关于我违反的规则的简单说明,例如 太多嵌套的if语句。
结果
我发现这比基本的阻止和掉毛实践有用,而且我相信这使我编写了对人类友好的代码 。顺便说一句,这是Pythonic!
SonarLint是免费的,因此没有理由不立即获取它并将其附加到您的编辑器中 。
【适用于Python的编写工具有哪些】到此,相信大家对“适用于Python的编写工具有哪些”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

    推荐阅读