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

nic*_*tme 32 reactjs

在测试React组件时,我正在阅读文档并找到了scryRenderedDOMComponentsWithClass.我无法理解这个组件的功能,因为它是不可发声的,所以我不明白它是如何命名映射到它正在做的事情的心智模型.(有许多相关的名称,例如scryRenderedDOMComponentsWithTag.)

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

pet*_*mag 37

简短的回答

在这种情况下,"Scry"只意味着"找到所有".看到这个评论ReactTestUtils.scryRenderedComponentsWithClass.这是一个单词,而不是缩写,它的发音类似于"cry",但开头是"s".

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

在同一个文件的其他地方,您将看到对以下内容的引用DOM.scry:

/**
 * Todo: Support the entire DOM.scry query syntax. For now, these simple
 * utilities will suffice for testing purposes.
 * @lends ReactTestUtils
 */
Run Code Online (Sandbox Code Playgroud)

zpao在对GitHub问题的评论中解释道:

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

jimfb在另一个GitHub问题中更进一步,解释该名称是对龙与地下城的引用:

回到当天,我们团队中有一群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"是一个真正的英语单词:

scry
[skrahy]

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

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

有趣的是,根据谷歌Ngram Viewer的数据,似乎这个词在19世纪早期已经不再正常使用,然后直到20世纪80年代一直默默无闻,大概是在D&D获得普及之后:

Google Ngram Viewer:从1700年到2008年的

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

  • 支持书呆子答案:-) (2认同)