编程语言
首页 > 编程语言> > javascript – 如何用动态类型语言描述函数参数?

javascript – 如何用动态类型语言描述函数参数?

作者:互联网

我的问题更倾向于Python,但也可能是关于JavaScript或其他脚本语言.

我通常使用静态类型语言(Java,C,ActionScript,…)进行开发.

我喜欢不时使用Python,我还需要有时使用JavaScript.这些是动态类型语言.这没有什么不对,但我通常有很多麻烦来理解函数或方法中需要哪些参数.它发生即使它是我自己的代码与一些docstrings!也许是因为眼睛必须在其他地方寻找而不是在函数的定义中.

当然,答案应该在文档中.但有时它根本不清楚,或者因为使用鸭子打字,文档可能本身很难编写(“第一个参数是一个必须有quack()方法的函数和一个羽毛(arg)方法,其中arg是一个字符串“).我非常喜欢的是语言本身内部的一种参数描述(即使它是可选的,就像在ActionScript中一样).

明确描述函数/方法的参数有哪些最佳实践?

如何创建一个特殊的装饰器(如果使用Python),其目的是在我们使用它时检查数据的类型(但是因为它将在运行时而不是在写入时使用,无论如何都会有什么意义)?

你认为这应该不是问题吗?那不仅仅是当前的文档字符串会让开发人员感到困惑,或者说我的思维过于依赖于静态类型?

解决方法:

我不知道Javascript,但Python从版本3开始有可选的函数注释,如下所示:

def haul(item: Haulable, *vargs: PackAnimal) -> Distance:

要么:

def compile(source: "something compilable",
            filename: "where the compilable thing comes from",
            mode: "is this a single statement or a suite?"):

有关更多信息,请参阅the PEP.

它们在运行时可访问,甚至可用于类型检查.

标签:python,javascript,arguments,dynamic-typing,code-documentation
来源: https://codeday.me/bug/20190630/1333894.html