Python 接受时间增量或秒数更好吗?
我参与了一个开源项目,在那里,我查询最近更新的对象,所以我有一个函数可以接受max_age对象。查看我的代码的人稍微偏爱以秒为单位传递时间。虽然这不是一个大问题,但我认为这是一个学习的机会。这是我们的谈话。在某些情况下,我们开始讨论参数的名称 代码审阅者: 我想马克斯的年龄很好,我误读了。我认为max_age_timedelta是 也很好(更明确)。多想想,有没有好的方法 不使用秒的原因?如中所示,传入一个整数?有 重要的速度问题 我: 不,只是易用性问题 代码审阅者: 我有点赞成在尽可能简单的函数之间传递对象 我: 我是根据日期进行查询的,时间增量使日期数学变得更容易 代码审阅者: 用秒数作为输入在内部创建timedelta是否很棘手? 或者你是否在很多地方使用了时间增量,以至于每次都这么做会很乏味? (注意:'internal'指的是'internal to the function do the query') 我: 这并不难,我当然可以在内部构建一个时间增量。 但是timedelta对象具有时间长度的语义。 整数和其他基本数据类型通过参数和变量名获得语义 代码审阅者: 是的,我明白。然而,在Python中,stuff是非类型化的,因此我们的主要信号传递方法是变量名。 也就是说,通过查看代码,不容易告诉对象的类型,就像C++中的一样。 在这种情况下你会怎么做Python 接受时间增量或秒数更好吗?,python,timedelta,Python,Timedelta,我参与了一个开源项目,在那里,我查询最近更新的对象,所以我有一个函数可以接受max_age对象。查看我的代码的人稍微偏爱以秒为单位传递时间。虽然这不是一个大问题,但我认为这是一个学习的机会。这是我们的谈话。在某些情况下,我们开始讨论参数的名称 代码审阅者: 我想马克斯的年龄很好,我误读了。我认为max_age_timedelta是 也很好(更明确)。多想想,有没有好的方法 不使用秒的原因?如中所示,传入一个整数?有 重要的速度问题 我: 不,只是易用性问题 代码审阅者: 我有点赞成在尽可能简单的
本质上,如果在使用int的代码中没有先例,我认为使用timedelta没有问题。不幸的是,这将完全基于观点,没有“正确”的答案。如果你对别人的项目做出贡献,你应该遵守他们的标准,即使你觉得它更麻烦。不要考虑你的需求,那是自私的。考虑你的呼叫者的需要。他们最可能使用的形式是什么?