Обещал пост - будет пост про внутриотдельные мемы. Кому не интересны гиковые приколы или несмешные шутки - могут пролистывать, остальных прошу под кат.
Из порождённых мемов в ходу осталось всего несколько, но они имеют свою историю и современное значение. Я вспомнил: TParGr, setBotEnabled(), Математика неизбежна! и меню из иконки.
TParGr
Первый проект на этой работе в котором мне довелось участвовать имел длительную историю развития, оставившую тяжёлый след на его исходном коде. После осмотра исходного кода были сделаны следующие выводы: комментариев нет, документации нет, населён багами. Про баги мы, правда, потом уже узнали. TParGr - имя одного из типов данных, широко распространённых в том проекте. Со временем TParGr стало собирательным образом нечитабельного и неподдерживаемого кода в который надо вносить правки. Код того проекта на 85% был нечитабельным и неподдерживаемым, как он работал не понимал никто.
К своему немалому удивлению у меня сохранились исходники того проекта и я могу привести код той структуры. Кто угадает назначение полей kPoint и PrPointCount, тому честь и хвала.
TParGr на Delphi
const KolPBuf=1023;
TPGrT=record
Tdop:double;
end;
TPAGrT=array[0..KolPBuf] of TPGrT;
TDimGrT=^TPAGrT;
TDim2GrT=array[0..10000] of TDimGrT;
TPGrDost=record
PrDost:Boolean;
end;
TPAGrDost=array[0..KolPBuf] of TPGrDost;
TDimGrDost=^TPAGrDost;
TDim2GrDost=array[0..10000] of TDimGrDost;
TPGr=record
x:double;
y:double;
end;
TPAGr=array[0..KolPBuf] of TPGr;
TDimGr=^TPAGr;
TDim2Gr=array[0..10000] of TDimGr;
TParGr=record
PointGr:TDim2Gr;
PointGrT:TDim2GrT;
PointGrDost:TDim2GrDost;
kPoint:integer;
kkPoint:integer;
cPoint:longint;
cLine:longint;
PrPointCount:Boolean;
PrLineCount:Boolean;
SizePointCount:integer;
FileGr:TFileName;
FileGrShort:string;
nx:byte;
ny:byte;
xmaP:double;
xmiP:double;
ymaP:double;
ymiP:double;
dXX:double;
dYY:double;
mYY:double;
TypeFileID:TTypeFileID;
end;
setBotEnabled(boolean enabled)
Это не команда отключения бота, но именно так и родился этот мем. Другой проект, код одного из наших младших студентов. В коде панельки по условию нужно было отключать или включать нижнюю и верхнюю часть панели, вот он и написал в классе панели два метода: setTopEnabled и setBotEnabled. На вопрос об имени метода он ответил, что хотел названия методов одинаковой длины, чтоб красиво было, вот и сократил. В современном значении - код с душком, написанный неопытным падаваном. В отличие от предыдущего не несёт негативной окраски.
Математика неизбежна!
Математика - это внутреннее название проекта. История этого мема даже удостоилась отдельного
поста. Коротко: эту фразу сказала как-то одна сотрудница нашей конторы в поисках нашего начальства, да сказала таким голосом. В общем печатное слово не способно передать всю ту удивительную ситуацию. В современном варианте - неминуемое наступление на тебя проекта, с которым ты не очень-то хочешь иметь что-то общее.
Меню из иконки
Мем родился как раз в рамках Математики. В тот момент начальник отдела тестирования решил, что руководство несправедливо распределило бабло между разработчиками и тестерами. По этому поводу тестерам была дана отмашка писать всё что есть и чего нет в ошибки. Одной из таких ошибок была RED-96.
RED-961.Запустить "Редактор знаний"/"Редактор модели предметной области".
2. Нажать на логотип в названии окна (см. приложение 22).
Результат
Открывается меню.
При нажати на логотип окна не должно ничего открываеться.
То есть стандартное поведение любого окна в системе было выдано за критический баг. Мы время от времени припоминаем тестерам этот увековеченный джирой ляп, когда те пишут неадекватные баги от незнания программы.
Ракета Маша
Вспомнил пока писал о прошлом. Сейчас подзабыт, но одно время был в ходу. Тоже родился в математике. На сервере математики данные были организованы в пространства, которые имели названия. Тестеры создавали себе отдельные пространства в которых долбили ошибки. Одно из названий, "ракета Маша", просто неудачно легло на усталую голову разработчика и так появился этот мем.
Я люблю свою работу, чёрт побери!