Долгое время не решался высказать это же "фи". Поражает "читаемостью" как виртовский, так и ББ-ный код. Казалось бы, уж они точно должны быть теми примерами, на которые стоит равняться. Линейка виртовских языков славится читаемостью, но эта читаемость подобным стилем для не-авторов рубится по корню. То же самое, кстати, касается математики и физики. Сокращение умножения до записи двух идентификаторов слитно поставило жирный запрет на возможность использования более понятных имён сущностей (а также необходимость использовать греческие буквы, кирилицу и иные извращения). Во время обучения те страницы формул, что вводят в дрожь, могли бы казаться вполне ясным и осмысленным псевдокодом.
Возвращаясь к переменным, нисколько не затрудняет использование идентификаторов вроде: KeyPreprocessFunc, ItemsAreObjects, MiddleItemHash, NumNotProcessedNodes. Что может быть понятно стороннему читателю, когда эти имена превратятся в PrFn, IAreObjs, mh, npNodes? Фактически, нужно загружать временную память информацией расшифровки каждой переменной (обязательно глянуть VAR-секцию, все типы, а также, возможно и объявление этих типов в модуле). Потом на каждом шаге усилием воли восстанавливать r до Reader, mh до MiddleItemHash, IAreObjs до ItemsAreObjects и т.д. В итоге мозг трещит по швам и не хочет в упор переваривать цикл с тремя операторами на одной строке с мини-именами переменных.