本文主要讲解“有哪些适合Python的写作工具”,感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖带你学习一下什么样的书写工具适合Python。
秘密武器#1:使用Kite可以更快地编写代码,减少Google编写时间
大多数代码编辑器都有自动完成功能,如下所示:
hellip使用语言(有时是库)文档来建议函数名和参数之类的东西。
当然可以,但是如果你的编辑器可以浏览GitHub数据很多年,并且自动完成,那么它不仅可以是函数名,还可以是整行代码。
这只是使用Kite的三个理由中的第一个。
原因1:代码行完成
Kite会检查你的代码库和变量,常用的参数名和在线使用的文档,然后提出以下超上下文建议:
上面的例子展示了Kite如何预测您将在常用名(如b)或常用名(如x或y)中使用的变量。
hellip我们作为工程师工作了大约50年,在Github上对所有代码进行语义索引,构建统计类型推断和丰富的统计模型,可以非常深入地使用这些语义信息。mdash亚当史密斯,凯特的创始人/首席执行官。
这是一个现场演示视频,或者你可以在沙盒中播放,如果你喜欢的话。
原因2:副驾驶进行文档编制
如果你从未听说过‘RTFM’,那么你可能没有犯我的错误。
在任何情况下,您都应该在调用高级开发人员甚至检查堆栈溢出答案之前阅读文档。
Kite Copilot让文档变得又笨又容易。它与您的编辑器一起运行,并显示任何对象/函数/等的文档。由光标实时高亮显示。
亲爱的资深开发者,我的第一份工作:抱歉。现在,我真的没有借口不先在文档中寻找答案。
原因3:在本地私人运行
它基于本地运行的一切,因此您可以获得令人难以置信的快速建议,它可以离线工作,并且您的代码永远不会被发送到云中。
这对互联网连接不良的人和在封闭的源代码库中工作的人来说非常重要。
结果
我用风筝很多年了,一直在不断进步。投资超过1700万美元,公司无处不在,由于一些愚蠢的原因,这个工具完全免费。
你所要做的就是为你的编辑下载Kite插件,或者下载副驾驶,他可以为你安装插件。去实现它(梦想);得到它(某物!
秘密武器2:使用Mypy稳定您的代码
Python是一种动态类型。一个过于简单的解释是,您可以将任何变量设置为任何数据类型(字符串、整数等)。)在任何时候。
# thetwo variable typesared redired the xactsamway # python configureresourcetypeonit ' sow,dynamic # string var _ name=' string var ' # integer var _ name=1234相反,它是一种静态类型的语言,其中变量必须具有特定的数据类型,并且必须始终遵循该数据类型。
# manylanguagesrequired datatypetobedeclaredtoo # stringstrvar _ name=' stringher ' # integerintnbsp
;var_name = 1234
动态类型的优点/缺点
动态键入的优点是您在编写时可以很懒惰,并且可以减少代码混乱。
缺点很多,但也很大:
-
在开发周期的后期,您通常会遇到错误
-
由于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的编写工具有哪些”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/66411.html