我的问题更面向Python,但也可能与JavaScript或其他脚本语言有关。
我通常使用静态类型语言(Java、C++、ActionScript...)进行开发。
我喜欢时不时使用Python,有时也需要使用JavaScript。这些是动态类型语言。这没什么问题,但我通常很头疼地了解函数或方法中需要哪些参数。即使它是我自己的带有一些文档字符串的代码,也会发生这种情况!也许是因为眼睛必须看函数定义之外的其他地方。
当然,答案应该在文档中。但有时根本不清楚,或者由于使用鸭子打字,文档本身可能很难写(“第一个参数是一个函数,必须有一个 quack() 方法和一个 Feathers(arg) 方法,其中 arg 是一个字符串”)。我非常想要的是语言本身内部的一种参数描述(即使它是可选的,就像在 ActionScript 中一样)。
明确描述函数/方法参数的最佳实践是什么?
创建一个特殊的装饰器怎么样(如果使用Python),其目的是在我们使用它时检查数据的类型(但由于它将在运行时而不是在写入时使用,所以无论如何有什么意义)?
您认为这不应该是一个问题吗?做比当前文档字符串更多的事情会让开发人员感到困惑,或者我的想法太面向静态类型?
我不知道Javascript,但Python有可选的function annotations
从版本 3 开始,它看起来像:
def haul(item: Haulable, *vargs: PackAnimal) -> Distance:
or:
def compile(source: "something compilable",
filename: "where the compilable thing comes from",
mode: "is this a single statement or a suite?"):
see the PEP http://www.python.org/dev/peps/pep-3107/了解更多信息。
它们可以在运行时访问,甚至可以用于type checking
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)