过去,现在和将来时的命名功能?

时间:2009-07-02 05:18:25

标签: api naming-conventions naming

我正在尝试为Permission类提供一些简洁明了的名称,以便您检查是否允许/拒绝权限。我对将来时态称之为不知所措。

class Permission:
  def can_read()
  def could_read()
  def will_read()?
  def will_be_readable()?

我最偏向will_read(),但听起来很有趣。 will_be_readable()很明确,但有点长,will_be_read()听起来有误导性。

4 个答案:

答案 0 :(得分:3)

由于您正在寻找权限类,因此代码将被表述为一个问题:

if (the_user.can_read()) ...
if (the_user.can_read_past()) ...
if (the_user.can_read_future()) ...

除此之外,我会尝试为语义上相等的函数维护相同的前缀,并且我会为默认/最可能的情况留下后缀。我没有真正的问题牺牲逻辑命名结构的语法正确性,即使我喜欢将代码转换为自然语言。所以这就是我想要的。

will_read()听起来更像是在行动之前触发的事件。

编辑:我知道“can_read_past”可能会被认为是“可以阅读旧东西”。也许Scott Evernden的建议更好?

答案 1 :(得分:1)

是的,这里的英语真的有问题,没有“罐头”的未来时态!如何切换到(例如)readable_nowreadable_pastreadable_future?如果过去和将来在你的情况下具有特定含义,那么可以在这里找到更好的命名,我确定。

答案 2 :(得分:1)

对我来说是,现在和将来都是最清楚的..  或者read_before,readable_noo,readable_later

答案 3 :(得分:0)

因为它与允许/拒绝许可有关,可能有一个比阅读更具描述性的词?

can_authorize
授权
scheduled_to_authorize