3个有用的Python工具可简化您的代码



任何开发人员都使用一种或另一种辅助工具。其中一些可以使您加快处理过程,而另一些则可以消除错误,使代码更易于理解。几乎每个开发领域都有这样的工具。



Python程序员Preston Badeer分享了一组扩展,他认为这些扩展可以极大地简化并加快编码速度。在5年的工作中,他尝试了许多工具,并确定了其中三个最有用的工具。



风筝:快速的文档访问和AI驱动的自动完成功能



大多数IDE具有内置的自动完成功能。与他们合作的过程看起来像这样。





这些工具使用内部文档来自动替换参数和函数名称。但是,如果有一个工具不仅可以帮助函数名称,还可以帮助经常使用的代码段怎么办?他还分析了GitHub存储库的数据并提供了必要的提示。有这样的工具。风筝可以做很多事情,但是大多数重要功能可以分为三类。



人工智能驱动的智能技巧



Kite学习代码库,记住开发人员经常使用的变量名称,Internet上的参数名称以及提供上下文建议的文档,例如:





该示例显示了Kite如何根据代码的上下文预测将使用的变量。这是提示如何工作的另一个示例:





“我们花了很多时间在GitHub上对所有代码进行语义索引,建立了统计推断和广泛的模型来帮助我们使用这些信息,” Kite首席执行官Adam Smith说道。



改进的文档处理



如果您的同事从未在工作聊天中向您发送过“ RTFM”,那么您就是一名不会犯错误的开发人员。但是,无论如何,您都应该先阅读文档,然后向同事询问问题或在Stack Overflow上寻找问题的答案。阅读文档是创建程序代码的重要步骤。Kite Copilot将使它更加方便,它可以实时显示光标突出显示的对象和功能的描述。





您的代码将保留在本地PC上



Kite专为本地使用而构建,不会将代码推送到云中。提示速度非常快。这对于那些互联网速度慢或与封闭/专有代码相关的工作的人来说很重要。



我使用此工具已有好几年了,但它只会变得更好。你可以试试它现在



用Mypy改进代码



Python是一种动态类型化的语言,它使您可以随时使用任何数据类型创建任何变量。一个且相同的变量可以是字符串,整数或另一种数据类型,具体取决于分配的最后一个值。当开发人员不必每次都手动将数据类型分配给变量时,这可以加快编码过程。



# These two variable types are declared the exact same way
# Python figures out the data type on it's own, dynamically

# string
var_name = "string here"

# integer
var_name = 1234


这是静态类型语言的示例,其中为每个变量分配了特定的数据类型,在逻辑上必须遵守该数据类型:



# Many languages require the data type to be declared too

# string
str var_name = "string here"

# integer
int var_name = 1234


动态方法也有一些缺点:



  • 在开发过程结束时,遇​​到错误的风险会增加,因此您将不得不重写代码的某些部分。
  • 由于类型的不断计算,因此代码运行速度较慢。
  • 由于动态类型化,代码变得不安全,因为函数的输入和输出对于同一变量可以具有不同的数据类型。
  • 动态代码更难阅读,因为另一个开发人员不能100%确保先前声明的变量不会更改其类型。


免费的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文档中有广泛的FAQ



使用SonarLint快速查找错误并编写简单的函数



大多数IDE都有linters,静态错误分析器。Linter甚至可以在运行代码之前发现错误。这被认为是代码的统计分析。





但是也有动态分析,它可以在后台运行/编译代码,并检查代码是否正常运行。如果出现问题,则报告可能的错误。这正是免费项目SonarLint的工作方式



注释掉或未使用的代码



我承认我在整个代码库中留下了语句,注释掉的代码和未使用的函数。 SonarLint通过向您显示所有内容来警告这些问题。如果没有SonarLint,故障排除和调试可能会花费数小时。







安全



问题SonarLint有一个可更新的大型漏洞数据库,该插件使插件可以立即警告开发人员有关代码中发现的问题。



代码可读性



SonarLint通过解释问题来警告代码过于复杂。例如,它可能是if语句的太多嵌套。



作为结论



一个简短的摘要,以免忘记本文中描述的工具:





您使用哪些有用的Python工具?






All Articles