【问题标题】:Naming functions based on popularity根据流行度命名函数
【发布时间】:2011-01-11 04:19:36
【问题描述】:

您需要两个功能:
1. 从数据库中检索纯文本。
2.基于1,检索富文本-带有新行,字体样式等。

您希望函数 2 比函数 1 更常用。

您会命名 1 text() 和 2 - rich_text() 还是使用更简单的 text() 作为 2 的名称,因为预计它会更受欢迎并使用类似 plain_text() 之类的东西作为 1?

更一般的问题是 - 您在命名函数时是否考虑函数的预期“流行度”?

【问题讨论】:

  • 我将调用我最喜欢的函数happy_happy_joy_joy(),这样其他人都会喜欢它并使用它,而不会在乎它的作用!
  • @Thilo,您能详细说明一下吗?
  • 我只是说,在所有条件相同的情况下,对我来说,名为“rich_text”的函数会不太受欢迎。但这并不是一个严肃的评论;-)
  • @Thilo,感谢您的澄清!
  • @BoltClock,我不确定我明白你的意思。您的意思是指出我在问题中建议的名称与它们描述的功能无关吗?

标签: php function naming


【解决方案1】:

不,我不考虑函数的受欢迎程度。最好为这两个函数提供描述性名称(例如,一个是 plain_text(),一个是 rich_text())。

我认为最好为所有函数使用相对具体的名称,因为使用更通用的名称 1.) 不会让用户通过阅读名称来了解函数的功能,并且 2.) 可以导致混乱。

当然,如何命名函数是你的选择:我只是建议你给它们一些描述性的名称,并且你给它们命名(并对参数进行排序)一致。

我最讨厌的就是使用 API 进行编程,其中每个函数名称都很短且晦涩(PHP 的字符串函数就是这样,尽管我现在已经习惯了——strstrstrtok 不是直观的名称他们所做的)。

【讨论】:

    【解决方案2】:

    如果代码将被广泛使用,有时值得考虑流行度。自然语言中的常用词往往很短。

    但是,除非您认为自己正在编写下一个 UNIX,否则最好使名称具有描述性,而不必担心长度。

    我会选择getPlainText()getRichText()

    【讨论】:

    • 但即使是 Ken Thompson 也很遗憾在 creat() 中省略了“e”,所以如果您正在编写下一个 UNIX,请考虑自然语言。
    • 是的,但我一直在处理运行名称为 getThingAndResturnAsJsonForDojoData 的代码。描述性极强,但很难使用。
    【解决方案3】:

    根据经验,我总是根据函数的功能来粗略地命名函数。如果我在你的鞋子里,我会命名功能一retrieve_plain_text()和功能二retrieve_rich_text()。我现在可以看一眼任何一个函数名称,并立即对该函数应该做什么有一个基本的了解:检索(从某些东西中获取,在本例中是数据库)纯文本/丰富(类型)文本。

    【讨论】:

      猜你喜欢
      • 2017-05-16
      • 2012-09-26
      • 2020-01-05
      • 2016-07-14
      • 1970-01-01
      • 2022-11-10
      • 2017-09-04
      • 2013-01-02
      • 1970-01-01
      相关资源
      最近更新 更多