История первая. Роковые буквы
[Оригинал]
Когда-то давно Джордж устроился работать в офис Initech. Компания только что арендовала несколько этажей в старом офисном здании, недавно перешедшего из категории «городской упадок» в категорию «элегантные кофейни на первом этаже и запах крема для обуви и свежей кожаной обивки на всех остальных».
Это было обширное пространство, а Джордж находился на том этапе своей карьеры, когда ему полагался отдельный офис с видом на переулок.
Его первой задачей стало устранение проблемы в Mac-версии программного обеспечения компании. В Windows она выглядела идеально, но на OSX появлялись баги рендеринга шрифтов. Подобный баг трудно найти, но Джордж, вероятно, был в прошлой жизни детективом, поэтому оказался готов к этому испытанию.
Самой важной зацепкой стала история контроля версий. За последние три года над продуктом работали пять разработчиков. Похоже, что каждый из них находился в компании примерно по четыре месяца, а потом уходил. Долгие месяцы шли без всяких изменений, затем приходил новый разработчик и цикл повторялся заново. Как выяснил Джордж, их имена всплывали постоянно, когда он пытался разобраться в функциях, работе и причинах багов продукта.
Так как приложение было кросс-платформенным, разработчики реализовали собственный загрузчик и рендерер шрифтов. По крайней мере, так ему показалось. Внутренняя структура шрифтов — это опасная и запутанная штука, и это отразилось в коде. В нём также отразилось то, что над ним поочерёдно занимались разные программисты, не сохранявшие его целостность. Это был хаос.
Читать полностью »