我应该在所有地方注释类型吗?
Should i annotate types everywhere?
我应该在我的单元测试函数中注释类型吗?
在通用视图中还有覆盖的 django 方法,如保存和获取或 post 函数?
这可以说是一个意见问题,但我认为有一个普遍接受的答案,大致是"No"。
编程语言的一种分类方法是静态类型和动态类型。静态类型语言通常更健壮,尤其是 "programming in the large",而动态类型语言在编程速度和建模问题方面具有优势,能够接受各种类型的数据是有益的。类型提示试图取得平衡。粗略的规则是:如果您使用语言的动态特性来实现某些目标,请不要担心对其进行注释。但是,如果您编写的代码没有具体使用语言的动态特性,请注释
也许为了阐明这一点,考虑一下如果您确实对所有内容都进行了注释,那为什么不直接使用 Cython?同样的努力,但你实际上也得到了一些加速。人们使用带注释的 Python 而不是 Cython 的原因是有些问题在不指定类型的情况下自然会更好地解决。
我应该在我的单元测试函数中注释类型吗? 在通用视图中还有覆盖的 django 方法,如保存和获取或 post 函数?
这可以说是一个意见问题,但我认为有一个普遍接受的答案,大致是"No"。
编程语言的一种分类方法是静态类型和动态类型。静态类型语言通常更健壮,尤其是 "programming in the large",而动态类型语言在编程速度和建模问题方面具有优势,能够接受各种类型的数据是有益的。类型提示试图取得平衡。粗略的规则是:如果您使用语言的动态特性来实现某些目标,请不要担心对其进行注释。但是,如果您编写的代码没有具体使用语言的动态特性,请注释
也许为了阐明这一点,考虑一下如果您确实对所有内容都进行了注释,那为什么不直接使用 Cython?同样的努力,但你实际上也得到了一些加速。人们使用带注释的 Python 而不是 Cython 的原因是有些问题在不指定类型的情况下自然会更好地解决。