python - 如何在开发和发布期间维护大型python项目

标签 python workflow qa

首先,我是一名C ++架构开发人员,遇到了新的挑战。我必须为大型python项目创建架构和工作流程。

我必须确保开发人员在交付工作时不会破坏代码,而且我必须知道在发布时我们不会破坏API兼容性。

我知道并且有很多好的实践和工具来进行C ++开发,但是我在python世界中迷失了。

我真的认为我绝对不能在Python开发中使用C ++范例,因为它肯定不是以相同的方式开发的。

在C ++中,我们有编译器(警告/错误)可以帮助我们发现一些问题。我并不是说一旦编译就可以使用,但至少我们具有API兼容性。我们还有代码覆盖率,静态分析以及其他几种方法,可帮助我们纠正/了解我们的代码具有一定质量。
我们使用面向对象的体系结构和代码审查。两者都可以使用C ++和python。我们还使用单元测试(C ++中的gtest,Python中的pytest)。但是所有这些都需要人类知识。

有什么工具可以帮助我们知道我们提供了高质量的代码库?像Numpy,Scipy,TensorFlow这样的大型项目可以确保它们的发布良好吗?

有一些linters(pylinter),PEP8编码样式,我也看过python编译,但是没有任何真正的成功,但是我真的不知道该怎么办。

如果您知道一些良好的工作方式和有用的工具,我将不知所措。

谢谢大家

最佳答案

我认为您实际上应该能够从C ++到Python转移几乎所有已建立的概念,以维护您已经熟悉的代码质量标准,因为它们与语言无关。

显然,代码审查和单元测试在某种程度上是可以的。 Python对单元测试有很好的支持。

对于自动代码分析,我知道的最好的工具是SonarQube,它可以进行功能强大的设置。例如,建立代码质量网关的可能性,如果不满足某些质量标准,该网关可以自动防止合并请求被合并。 SonarQube包括用于许多其他语言的Python静态代码分析器。

在学习如何编写“ pythonic” Python代码方面, e。要获得经验丰富且熟练的Python开发人员批准的代码,我所知道的最佳资源是The Hitchhiker's Guide to Python。最后,编写好的代码才是真正重要的,不是吗?


  但是所有这些都需要人类知识。


究竟。工具可以支持使我们能够生成高质量代码的良好工作流程,但最终还是要由我们来编写代码,不是吗?至少现在(是...

关于python - 如何在开发和发布期间维护大型python项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51079465/

相关文章:

python - or-tool python 中的变量除法

python pandas 以相同的方式重命名多个列标题

deployment - 如何使用 Composer、Symfony2 和 Capistrano 等进行部署?

c# - Pow(x,y) 函数的工作流程是什么?

apache-flex - 在Flex应用程序上自动进行质量检查

testing - Selenium 与健身

python - XML 解析 : Element Tree (etree) vs. minidom

sharepoint - 在复制器事件中绑定(bind) taskid 属性的正确方法是什么?

testing - 自动化测试期间跟踪性能的工具

python - 在 CherryPy 中将错误输出到浏览器