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

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

01b665e4edaacf4505fc2d8731b59c1a.png

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

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

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

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

d651085aaf99064caf78650590141ef5.png

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

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

35051f1f712d4f146991897010cd17a1.png

be5cb45aaed0d4e65b0308fe8fde4838.png

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

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

cb4a462008c6e4fa66cd3050c4c0a536.png

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

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

74fc121ebd3d3d31f86ca0b1791792aa.png

5de891b8c44507b4724c7b3296210ab0.png

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

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

df814bb3f9c8b074a07eb5ada49c4b5d.png

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

© Habrahabr.ru