metaclass: (Default)
metaclass ([personal profile] metaclass) wrote2014-02-15 01:59 pm

Безумие и отвага

Вопрос на собеседование:
Вам дается 100 проектов, содержащих t4 шаблоны, написанные старообрядческими псоглавцами.
Ваша задача написать MSBuild скрипт, который перегенерирует весь код, созданный из этих шаблонов.

Смех тут в том, что студия перегенерирует код только если зайти в t4 шаблон и пересохранить его, чтобы время изменилось. А изменение файлов, включенных через include не вызывает перегенерацию.

[identity profile] metaclass.livejournal.com 2014-02-15 04:50 pm (UTC)(link)
Для 4 дотнета срок выдержки для выпадания хипстерятины в осадок уже прошел, а трудозатраты по переносу между 1.1->2.0 и 1.1->4.0 совершенно однохренственны.
Кроме того, начиная с 3.5-4.0, имеются в меру полезные вещи. которых раньше не было - лямбды, LINQ, параметры по умолчанию, динамики и прочее такое.

У меня есть несколько сторонних либ в проекте, так они успешно все на 4.5 сбежали уже, впрочем для таких случаев я либо их пересобираю под свою версию, либо бэкпортирую новые фичи :)