0

我一直在使用 Python 等动态语言时遇到问题。

几个烦恼

  1. 打字错误,我可以使用 pylint 来减少其中一些错误。但是仍然有一些 pylint 无法弄清楚的错误。
  2. 对象类型错误,经常忘记参数是什么类型,int?字符串?一些对象?另外,忘记了我的代码中某些对象的类型。

单元测试有时可能会对我有所帮助,但我并不总是有足够的时间来做 UT。当我需要一个脚本做一个小工作时,代码行是100-200行,不大,但我没有时间做单元测试,因为我需要尽快使用脚本。所以,出现了很多错误。

那么,关于如何减少这些麻烦的数量的任何想法?

4

2 回答 2

4

单元测试处理这个问题的最好方法。如果您认为测试花费了太多时间,请问问自己在发布代码后,您在缺陷上浪费了多少时间——识别、诊断和纠正。

实际上,您是在生产环境中进行测试,并且有大量证据表明,在开发周期后期发现的缺陷的修复成本可能要高出几个数量级。

于 2012-12-05T11:59:45.200 回答
2

除了单元测试(参见 chamila_c 的回答)之外,坚持良好的约定和编码风格也会有所帮助。我想我知道您正在谈论的那种一次性脚本(假设这就是您正在谈论的内容),并且经常为它们编写完整的测试套件似乎有点矫枉过正。其他一些可能会有所帮助的提示:

  • 将您的代码分解为函数。如果您正在处理一小段独立的代码,则通常更容易识别问题,尤其是命名问题。为小功能编写单元测试也容易得多。我发现使用这种方法意味着您不需要完整的测试套件来测试和隔离已识别的问题。
  • 坚持一致且富有表现力的命名约定。例如,使用min_value = min(all_values)而不是像a = min(b). 函数名称也是如此,使用def calculate_mean(sequence)而不是def f(s)
  • 阅读并应用PEP8
  • 用注释记录您的代码。这在编写代码时只需要几秒钟,并且当你回到它时更容易弄清楚发生了什么。令人惊叹的细节,你可以在一天内忘记!
于 2012-12-05T12:13:52.197 回答