过滤命名约定

时间:2017-08-29 12:29:15

标签: naming-conventions

我有一个mysql函数,它接受一个字符串作为输入,只返回字母数字字符。

例如,

$ul = "<ul><li>1</li><li>2</li><li>3</li><li>4</li><li>5</li><li>6</li></ul>"; // Import our existing list $input = new DOMDocument; $input->loadHTML($ul); $output = new DOMDocument; $num = substr_count($ul, '<li>') / 3; $size = round($num); $i = 0; foreach ($input->getElementsByTagName('li') as $listItem) { // If we've reached our boundary (or are at the start of the list), add a new UL if ($i % $size === 0) { $list = $output->createElement('ul'); $output->appendChild($list); } // Append our list item to the current list $list->appendChild($output->createElement('li', $listItem->nodeValue)); $i++; } echo $output->saveHTML(); // <ul><li>1</li><li>2</li></ul><ul><li>3</li><li>4</li></ul><ul><li>5</li><li>6</li></ul> 会输出101-FFKS 99S-5

它被称为101FFKS99S5,它不具有描述性。

我正在考虑alphanumalphanum_filter

的内容

商定的约定是什么?你过滤掉的东西,或者你遗留下来的东西?

一些谷歌搜索没有产生任何帮助。

1 个答案:

答案 0 :(得分:4)

我认为编程中没有任何商定的约定。

请注意,有三个,而不是两个选项,关于接近&#34;过滤器&#34;:

  • 你过滤掉了什么,
  • 你还剩下什么
  • 以及的组合,即将放入过滤器的内容。

的确,我认为一般来说,在英语中你会看到一个单词&#34; filter&#34;你认为那个词是将把放入过滤器的内容 请注意,虽然&#34;空气过滤器&#34;,&#34;滤水器&#34;,&#34;滤油器&#34;和&#34;燃油滤清器&#34;似乎是指过滤后留下的内容,我坚信这是一个隐含的&#34;未经过滤的&#34;在他们所有人之前。

然而,还有名词确实包括&#34;你剩下的&#34;,例如&#34; 高通滤波器&#34;或&#34;红色过滤器&#34;,以及包含&#34;您过滤掉的内容&#34;,例如&#34;垃圾过滤器&#34;。

所以在任何情况下都可能是模棱两可的 乍看之下我个人认为这个词会被过滤掉,所以我对punctuation_filter感觉更舒服,但这可能是主观的。
所以最好找一个不那么含糊的名字(尽管在某些情况下,使用含糊不清的东西可以让每个程序员通过查看它的来源了解它的作用;它有多大的意义更重要的是保持一致,您确定不希望过滤掉标点符号的punctuation_filter和只允许在同一代码中编号的num_filter

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

另一个想法是使用FilterOut而不是Filter。这肯定是毫不含糊的,尽管它也是一个断言。

如果您正在寻找在编程领域具有某种权威性的内容,我会明确提到filter std::string str = ???; for(char& c : str) { do_things_with(c); } 中的print ("{:.5f}".format(a)) 含糊不清。