0

Python 对我来说是一种相对较新的语言,我已经看到了维护基于脚本语言的项目的一些麻烦领域。我只是想知道更大的社区如何处理以下情况:

  1. 函数/方法的返回类型。假设过去的开发人员没有很好地记录代码,这真的很烦人,因为我基本上是逐行阅读代码以找出方法/函数应该返回的内容。

  2. 代码重构:我认为很多代码需要移动、编辑/删除等。但很多时候是简单的错误,否则在其他编译语言中会出现编译时错误,例如 - 错误的参数数量、错误的参数类型,方法不存在等,仅在您运行代码并且代码到达有问题的区域时才会显示。因此,只有在彻底运行代码后,才能知道重构后的代码是否可以正常工作。我将 PyLint 与 PyDev 一起使用,但我仍然发现它在这方面非常缺乏。

4

3 回答 3

0

你是对的,这是动态类型解释语言的问题。

有一些重要的事情可以提供帮助:

  1. 良好的文档
  2. 广泛的单元测试。

当然,它们也适用于其他语言,但在这里它们尤其重要。

于 2013-06-04T10:18:50.820 回答
0

据我所知,如果根本没有记录代码并且作者不在身边,那么由您来了解 ode 的实际作用。

这就是为什么人们应该始终坚持某些可以由 pep8 等样式检查器强制执行的指南。https://pypi.python.org/pypi/pep8

注释和文档字符串应该包含在每个方法中,以避免您描述的这种情况。http://www.python.org/dev/peps/pep-0257/#what-is-a-docstring

此外,单元测试对于重构非常有帮助,因为您可以通过单击按钮来检查是否破坏了某些内容。http://docs.python.org/2/library/unittest.html

希望这可以帮助

于 2013-06-04T10:20:08.217 回答
0

其他人已经提到文档和单元测试是这里的主要工具。我想添加第三个:Python shell。像 Python 这样的非编译语言的巨大优势之一是您可以轻松地启动 shell、导入模块并在那里运行代码以查看它的作用和返回的内容。

与此相关的是 Python 调试器:只需将其放在import pdb;pdb.set_trace()代码中的任何位置,当您运行它时,您将被放入交互式调试器中,您可以在其中检查变量的当前值。事实上,pdb shell 也是一个真正的 Python shell,因此您甚至可以在其中进行更改。

于 2013-06-04T10:36:06.037 回答