Подтвердить что ты не робот

Откуда возникает React `scryRenderedDOMComponentsWithClass`?

Работая над тестированием компонента React, я читал документы и нашел scryRenderedDOMComponentsWithClass. У меня возникли проблемы с пониманием функции этого компонента, потому что он непроизносимый, поэтому я не понимаю, как он отображает карты в ментальную модель того, что он делает. (Существует ряд связанных имен, например scryRenderedDOMComponentsWithTag.)

Что относится к части scry этого имени метода? Страшно? Беготня? Какое понятие это имя пытается проиллюстрировать?

4b9b3361

Ответ 1

Короткий ответ

"Scry" в этом контексте означает "найти все". См. этот комментарий к ReactTestUtils.scryRenderedComponentsWithClass. Это одно слово, а не аббревиатура, и оно произносится как "крик", но с "с" в начале.

Более длинный (и более надежный) ответ

В другом месте этого же файла вы увидите ссылку на DOM.scry:

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

zpao объясняет в комментарий к проблеме GitHub:

Это ссылка на внутренний модуль Facebook. Это в основном querySelectorAll с резервным поведением для обработки старых браузеров и особых случаев. Это довольно незаметно и на самом деле не очень хорошо переводится здесь (кроме, может быть, scryRenderedDOMComponentsWithQSA или что-то, но meh). Мы работаем над улучшением тестирования другими способами, поэтому я не думаю, что сейчас мы действительно хотим сделать это прямо сейчас.

jimfb делает это немного дальше в другой проблеме GitHub, объясняя, что это имя - ссылка на Dungeons and Dragons:

В тот же день у нас была группа фанатов 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.

  • использовать предсказание, чтобы обнаружить скрытые знания или будущие события, особенно с помощью хрустального шара.

Интересно, что, согласно данным из Google Ngram Viewer, кажется, что это слово выпало из нормального использования в начале 19 века, а затем погрязший в безвестности до 1980-х годов, предположительно после того, как D & D приобрел популярность:

Google Ngram Viewer:

Поэтому я не могу сказать, что я возражаю против jimfb, назвав его "фэнтезийным словом", особенно учитывая то, как я воображаю свое воображение, когда я его слышу.