6
静态类型在更大的项目中真的有什么帮助?
在脚本编程语言网站的首页上进行好奇时,我遇到了这段话: 当系统太大而无法控制时,可以添加静态类型。 这让我记住,在许多静态的,已编译的语言(例如Java)和动态的,解释性语言(主要是Python,因为它使用较多,但它是大多数脚本语言之间共享的“问题”)之间的宗教战争中,静态地抱怨之一打字语言对动态打字语言的拥护者认为,它们不能很好地扩展到较大的项目,因为“有一天,您会忘记函数的返回类型,而必须查找它,而使用静态打字语言时,一切被明确声明”。 我从不理解这种说法。老实说,即使您声明了函数的返回类型,在编写了许多行代码之后,您也可能会忘记它,而您仍然必须返回到使用的搜索功能声明它的行。您的文本编辑器进行检查。 另外,当函数使用声明时type funcname()...,type您将不得不在调用该函数的每一行中进行搜索,因为您只知道funcname,而在Python之类的代码中,您只会搜索def funcname或function funcname只发生一次,在声明。 而且,使用REPL可以很容易地测试一个函数是否具有不同输入的返回类型,而对于静态类型的语言,您需要添加一些代码行并重新编译所有内容才能知道所声明的类型。 因此,除了知道函数的返回类型显然不是静态类型语言的强项之外,静态类型在更大的项目中真的有什么帮助?