Уважительный код
Инклюзивность является центральной частью культуры V8, а наши ценности включают уважительное отношение друг к другу. Поэтому важно, чтобы каждый мог внести свой вклад, не сталкиваясь с вредными последствиями предвзятости и дискриминации. Однако термины в нашем коде, интерфейсах и документации могут сохранять эту дискриминацию. Этот документ устанавливает рекомендации, направленные на устранение неуважительной терминологии в коде и документации.
Политика
Терминология, которая является уничижительной, оскорбительной или поддерживает дискриминацию, как напрямую, так и косвенно, должна быть избегаемой.
Что находится в рамках этой политики?
Все, что может прочитать участник проекта, работая с V8, включая:
- Имена переменных, типов, функций, файлов, правил сборки, бинарные файлы, экспортируемые переменные и т. д.
- Тестовые данные
- Вывод системы и отображение
- Документация (как внутри, так и вне исходных файлов)
- Сообщения фиксации кода
Принципы
- Будьте уважительными: уничижительный язык не должен быть необходимым для описания того, как что-то работает.
- Уважайте культурно чувствительный язык: некоторые слова могут иметь значительные исторические или политические значения. Пожалуйста, учитывайте это и используйте альтернативы.
Как узнать, подходит ли конкретная терминология?
Примените вышеуказанные принципы. Если у вас есть вопросы, вы можете обратиться по адресу [email protected].
Какие примеры терминологии следует избегать?
Этот список НЕ является исчерпывающим. Он содержит несколько примеров, с которыми люди сталкивались часто.
Термин | Рекомендуемые альтернативы |
---|---|
master | основной, контроллер, лидер, хост |
slave | реплика, подчиненный, вторичный, последователь, устройство, периферия |
whitelist | список разрешенных, список исключений, список включения |
blacklist | список запретов, список блокировки, список исключений |
insane | неожиданный, катастрофический, бессвязный |
sane | ожидаемый, подходящий, разумный, допустимый |
crazy | неожиданный, катастрофический, бессвязный |
redline | prioritизация, лимит, мягкий лимит |
Что делать, если я работаю с чем-то, что нарушает эту политику?
Такая ситуация возникала несколько раз, особенно при реализации кода, соответствующего спецификациям. В этих случаях отклонение от языка спецификации может затруднить понимание реализации. Для таких случаев мы предлагаем одно из следующих решений в порядке убывающего предпочтения:
- Если использование альтернативной терминологии не мешает пониманию, используйте альтернативную терминологию.
- Если это невозможно, не распространяйте терминологию за пределы слоя кода, который осуществляет взаимодействие. Там, где это возможно, используйте альтернативные термины на границах API.