我的问题更面向 Python,但也可能与 JavaScript 或其他脚本语言有关。
我通常使用静态类型语言(Java、C++、ActionScript,...)进行开发。
我喜欢不时使用 Python,有时我也需要使用 JavaScript。这些是动态类型语言。这没什么错,但我通常很头疼要了解函数或方法中需要哪些参数。即使它是我自己的带有一些文档字符串的代码也会发生!也许是因为眼睛必须在函数定义之外的地方寻找其他地方。
当然,答案应该在文档中。但有时根本不清楚,或者由于使用了鸭子类型,文档本身可能很难编写(“第一个参数是一个函数,它必须有一个 quack() 方法和一个 feathers(arg) 方法,其中 arg是一个字符串" )。我非常想要的是语言本身内部的一种参数描述(即使它是可选的,就像在 ActionScript 中一样)。
明确描述函数/方法的参数的最佳实践是什么?
如果创建一个特殊的装饰器(如果使用 Python),其目的是在我们使用它时检查数据的类型(但因为它将在运行时而不是在编写时使用,那么重点是什么)呢?
你认为这不应该是一个问题吗?比当前的文档字符串做得更多会使开发人员感到困惑,或者我的思想过于面向静态类型?