【问题标题】:Should i annotate types everywhere? [closed]我应该在任何地方注释类型吗? [关闭]
【发布时间】:2019-08-08 09:53:31
【问题描述】:

我应该在我的单元测试函数中注释类型吗? 被覆盖的 django 方法(如通用视图中的保存和获取或发布函数)还有什么?

【问题讨论】:

  • @WillemVanOnsem 我的意思是,您可以对本网站上的几乎任何问题做出回应。
  • @Neil:这些网站上的大多数问题都是“为什么我的代码不起作用”,所以它没有太多基于意见的:)。而且很多问题肯定有一定的理论基础。例如,某些逻辑编程语义比基于“有根据的语义”的其他语义更好。
  • 我同意这可能是基于意见的。但是,如果您认为最好的方法可能只是将其标记为基于意见并投票结束。

标签: python django unit-testing typing pep


【解决方案1】:

这可以说是一个意见问题,但我认为有一个普遍接受的答案,大致是“否”。

对编程语言进行分类的一种方法是分为静态类型和动态类型。静态类型语言通常更健壮,特别是对于“大型编程”,而动态类型语言在编程速度方面具有优势,并且在建模问题时能够接受各种类型的数据是有益的。键入提示试图取得平衡。粗略的规则是:如果您使用语言的动态特性来实现某些目标,请不要担心对其进行注释。但是,如果您编写的代码没有具体利用语言的动态特性,请注释

也许为了明确一点,考虑一下,如果您确实注释了所有内容,那么为什么不直接使用 Cython 呢?同样的努力,但你实际上也得到了一些加速。人们使用带注释的 Python 而不是 Cython 的原因是,有些问题在不指定类型的情况下自然会得到更好的解决。

【讨论】:

    猜你喜欢
    • 2013-02-05
    • 1970-01-01
    • 2016-12-23
    • 2010-09-08
    • 1970-01-01
    • 2021-05-13
    • 2011-09-14
    • 1970-01-01
    • 2011-09-23
    相关资源
    最近更新 更多