React的“scryRenderedDOMComponentsWithClass”方法名称来自哪里?

时间:2015-11-16 19:17:56

标签: reactjs

在测试React组件时,我正在阅读文档并找到scala> results.show(); +--------------------+ | col| +--------------------+ |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:15:...| |2015-11-06 07:15:...| |2015-11-16 07:15:...| |2015-11-16 07:21:...| |2015-11-16 07:21:...| |2015-11-16 07:21:...| +--------------------+ 。我无法理解这个组件的功能,因为它是不可发音的,所以我不明白它是如何命名映射到它正在做的事情的心智模型。 (有许多相关名称,例如scryRenderedDOMComponentsWithClass。)

此方法名称的scryRenderedDOMComponentsWithTag部分是指什么?害怕?匆匆?这个名字试图说明什么概念?

1 个答案:

答案 0 :(得分:37)

简短回答

“Scry”在这种情况下只是意味着“全部找到”。见this comment on ReactTestUtils.scryRenderedComponentsWithClass。这是一个单词,而不是缩写,它的发音类似于“哭”,但开头有一个“s”。

更长(和更神经质)的回答

在该文件的其他位置,您会看到a reference to DOM.scry

/**
 * Todo: Support the entire DOM.scry query syntax. For now, these simple
 * utilities will suffice for testing purposes.
 * @lends ReactTestUtils
 */

zpao在a comment on a GitHub issue中解释:

  

这是对内部Facebook模块的引用。它基本上是querySelectorAll,具有用于处理旧浏览器和特殊情况的回退行为。它非常不起眼,并且实际上并没有在这里很好地翻译(除了scryRenderedDOMComponentsWithQSA或者其他东西,但是meh)。我们正在努力以其他方式改进测试,所以我认为现在我们真的不想做任何事情。

jimfb在another GitHub issue中更进一步,解释说该名称是对Dungeons& amp;的引用。龙:

  

在当天,我们团队中有一群D& D粉丝。

     

供参考:
  http://www.dandwiki.com/wiki/SRD:Scrying
  http://www.dandwiki.com/wiki/SRD3e:Scry_Skill
  https://en.wikipedia.org/wiki/Scrying

     

从历史上看,我们使用scry来指示找到一组结果的帮助器。随着框架的成熟,我们应该根据函数的实际功能开始选择函数名称,而不是那些对典型开发人员意义不大的幻想词。

虽然我同意这个词对大多数人没什么意义,但值得注意的是"scry" is a real English word

  

<强>占卜
   [skrahy]

     

动词(无对象使用), scried scrying

     
      
  1. 使用占卜来发现隐藏的知识或未来事件,特别是通过水晶球。
  2.   

有趣的是,根据the data from Google's Ngram Viewer,似乎这个词在19世纪早期已经不再正常使用,直到20世纪80年代才开始沉寂,大概是在D&amp; D获得普及之后:

Google Ngram Viewer: "scry" from 1700 to 2008

所以我不能说我反对jimfb称它为“幻想词”,特别是考虑到我听到它时想象中想象的那种图像。