我用 Python、Common Lisp 等动态语言编写。因此,有时我会查看库的源代码,如果它们没有足够的文档,并且无法确定函数、构造函数等期望的输入数据类型是什么。在静态语言中,我会从类型描述中看到这一点,但在这里你必须猜测。也许有一些方法可以找出我不知道的预期类型?例如,该函数正在等待一个名为 id 的参数。在条件 c++ 中,我会看到字符串 id 并理解。
我用 Python、Common Lisp 等动态语言编写。因此,有时我会查看库的源代码,如果它们没有足够的文档,并且无法确定函数、构造函数等期望的输入数据类型是什么。在静态语言中,我会从类型描述中看到这一点,但在这里你必须猜测。也许有一些方法可以找出我不知道的预期类型?例如,该函数正在等待一个名为 id 的参数。在条件 c++ 中,我会看到字符串 id 并理解。
大多数情况下,使用的库仍然包含文档。此外,仅出于这些目的,在 Python 和 Ruby 中使用可选的静态类型仍然很流行。最简单的方法是查看源代码。如果这不起作用,请运行 REPL(对于 Python 使用 python,对于 Ruby 使用 irb)并传入您怀疑可能适合的每个可能的类型。乐观的方式是类型推断工具。通常这些都内置在 IDE 中并且可以给出提示。有更高级的命令行工具(ruby 的 typeprof 最近开箱即用)可以帮助您输入几乎任何代码。