过滤器命名约定

Tra*_*ton 3 naming-conventions

我有一个mysql函数,该函数将字符串作为输入并仅返回字母数字字符。

101-FFKS 99S-5101FFKS99S5例如将输出。

它被称为alphanum不是很描述。

我正在考虑类似alphanum_filter或的方法punctuation_filter

约定的约定是什么?您正在过滤掉的东西还是剩下的东西?

一些Google搜索没有任何帮助。

gbr*_*gbr 6

我认为编程中没有约定的惯例。

请注意,关于放置在“过滤器”附近的内容,有三个而非两个选择:

  • 您要过滤掉的内容
  • 你剩下的是什么
  • 而两者的结合,这是它获取把物质进入过滤器。

确实,我认为通常来说,当您在英语中看到“过滤器”附近的词时,您会认为该词将被放入过滤器中。
请注意,虽然“空气滤清器”,“水滤清器”,“机油滤清器”和“燃料滤清器”似乎是指过滤后剩下的东西,但我坚信所有这些过滤器之前都有一个隐式的“未过滤”。

但是,也有一些名词真正包含“您所剩的东西”,例如“ 高通滤波器 ”或“红色滤波器”,以及包含“您要过滤的东西”的名词,例如“垃圾邮件过滤器”。

因此,在任何情况下都可能是模棱两可的。
乍看之下,我个人认为该词将被过滤掉,因此我会比较满意punctuation_filter,但这可能是主观的。
因此,最好不要使用含糊不清的名称(尽管在某些情况下,可以使用含糊的名称,并让每个程序员通过查看其来源来理解其作用是可以的;更重要的是要保持一致,您肯定不会想要punctuation_filter过滤掉标点符号的以及num_filter只允许数字在同一代码中通过的)。

一个更清晰的名字的想法可能是LeaveOnlyAlphanums
是的,它是一个断言而不是名词,但是您可以使用的唯一明确的名词短语可能是FilterThatLeavesOnlyAlphanumsThingThatLeavesOnlyAlphanums

另外一个想法是使用FilterOut而不是简单地Filter。可以肯定的是,尽管这也是一个断言。


如果您正在寻找在编程领域具有某种权威的东西,我filter《可读代码的艺术》一书中明确提到了一个模棱两可的地方