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

в 14:38, , рубрики: .net, надмозги, ненормальное программирование, Программирование, цензура, энциклонги

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Дискриминация — действительно серьезная проблема современного общества. Но очень грустно, когда под видом борьбы с ней выдают вот такое…

Автор: Андрей

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js