Перейти к основному содержимому

Уважительный код

Инклюзивность является центральной частью культуры V8, а наши ценности включают уважительное отношение друг к другу. Поэтому важно, чтобы каждый мог внести свой вклад, не сталкиваясь с вредными последствиями предвзятости и дискриминации. Однако термины в нашем коде, интерфейсах и документации могут сохранять эту дискриминацию. Этот документ устанавливает рекомендации, направленные на устранение неуважительной терминологии в коде и документации.

Политика

Терминология, которая является уничижительной, оскорбительной или поддерживает дискриминацию, как напрямую, так и косвенно, должна быть избегаемой.

Что находится в рамках этой политики?

Все, что может прочитать участник проекта, работая с V8, включая:

  • Имена переменных, типов, функций, файлов, правил сборки, бинарные файлы, экспортируемые переменные и т. д.
  • Тестовые данные
  • Вывод системы и отображение
  • Документация (как внутри, так и вне исходных файлов)
  • Сообщения фиксации кода

Принципы

  • Будьте уважительными: уничижительный язык не должен быть необходимым для описания того, как что-то работает.
  • Уважайте культурно чувствительный язык: некоторые слова могут иметь значительные исторические или политические значения. Пожалуйста, учитывайте это и используйте альтернативы.

Как узнать, подходит ли конкретная терминология?

Примените вышеуказанные принципы. Если у вас есть вопросы, вы можете обратиться по адресу [email protected].

Какие примеры терминологии следует избегать?

Этот список НЕ является исчерпывающим. Он содержит несколько примеров, с которыми люди сталкивались часто.

ТерминРекомендуемые альтернативы
masterосновной, контроллер, лидер, хост
slaveреплика, подчиненный, вторичный, последователь, устройство, периферия
whitelistсписок разрешенных, список исключений, список включения
blacklistсписок запретов, список блокировки, список исключений
insaneнеожиданный, катастрофический, бессвязный
saneожидаемый, подходящий, разумный, допустимый
crazyнеожиданный, катастрофический, бессвязный
redlineprioritизация, лимит, мягкий лимит

Что делать, если я работаю с чем-то, что нарушает эту политику?

Такая ситуация возникала несколько раз, особенно при реализации кода, соответствующего спецификациям. В этих случаях отклонение от языка спецификации может затруднить понимание реализации. Для таких случаев мы предлагаем одно из следующих решений в порядке убывающего предпочтения:

  1. Если использование альтернативной терминологии не мешает пониманию, используйте альтернативную терминологию.
  2. Если это невозможно, не распространяйте терминологию за пределы слоя кода, который осуществляет взаимодействие. Там, где это возможно, используйте альтернативные термины на границах API.