Цензура в исходном коде .NET Framework

Моя цель - предложение широкого ассортимента товаров и услуг на постоянно высоком качестве обслуживания по самым выгодным ценам.

Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!

Пятничным вечером, проглядывая исходники с Reference Source, случайно наткнулся на подозрительно выглядящий комментарий:



Некоторые слова заменены на 4 тире. Ну ладно, иногда разработчики действительно бывают весьма экспрессивны и не стесняются резких выражений… Но при всем желании я не смог вспомнить ни одного ругательства, которое бы подошло здесь по смыслу. Откуда же оно взялось?

К счастью, Github позволяет искать по коду репозитория, и можно вбить в поиск эти четыре тире:

github.com/microsoft/referencesource/search?q=----&unscoped_q=----

Пропускаем случайные совпадения с ASCII-форматированием и натыкаемся на несколько других случаев, в которых все становится понятно из контекста:



Табуированное слово — «race». Все упоминания идут в контексте "race condition", то есть состояние гонки за ресурсы, а не человеческая раса. И тем не менее, они заменены.

Дальше — больше!





Кто-то всей душой ненавидит исключения? Кажется, нет. Предполагаю, табуированное слово здесь — «trap». Есть устойчивое выражение — «trap an exception», означающее перехват исключения, чтобы оно не всплывало вверх. Но у этого слова есть и другое сленговое значение.

Ну да ладно. Это же все комментарии, мало ли что в них написано. На качество кода-то не повлияет?..



Здесь цензура вырезала некие слова из текстовых констант, которые используются для идентификации локалей. Подозреваю, что в первом случае было слово «Simple», а во втором — «Culture», но что в них крамольного?

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





Большинство из них я не могу угадать, но t----zium — это trapezium (трапеция), а ch---is — это chassis (корпус).

К счастью, проблема наблюдается только в выложенных в данный репозиторий исходниках. Если декомпилировать настоящую сборку, никакой цензуры нет:



Дискриминация — действительно серьезная проблема современного общества. Но очень грустно, когда под видом борьбы с ней выдают вот такое…
Источник: https://habr.com/ru/post/486456/


Интересные статьи

Интересные статьи

Как обычно выглядит проверка кода приложений на уязвимости? Специалист по безопасности инициирует процедуру, код сканируется, в приложении обнаруживаются тысячи уязвимостей. Все — и б...
Продолжаю публикацию решений отправленных на дорешивание машин с площадки HackTheBox. Надеюсь, что это поможет хоть кому-то развиваться в области ИБ. В данной статье эксплуатируем уязвимость в ...
​Вступление Идентификация по JWT (JSON Web Token) — это довольно единообразный, согласованный механизм авторизации и аутентификации между сервером и клиентами. Преимущества JWT в том, что он поз...
Ежедневно в сервисе Pyrus работают десятки тысяч сотрудников из нескольких тысяч организаций по всему миру. Отзывчивость сервиса (скорость обработки запросов) мы считаем важным конкурентным преим...
Тема статьи навеяна результатами наблюдений за методикой создания шаблонов различными разработчиками, чьи проекты попадали мне на поддержку. Порой разобраться в, казалось бы, такой простой сущности ка...