Безумие и отвага
Feb. 15th, 2014 01:59 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
Вопрос на собеседование:
Вам дается 100 проектов, содержащих t4 шаблоны, написанные старообрядческими псоглавцами.
Ваша задача написать MSBuild скрипт, который перегенерирует весь код, созданный из этих шаблонов.
Смех тут в том, что студия перегенерирует код только если зайти в t4 шаблон и пересохранить его, чтобы время изменилось. А изменение файлов, включенных через include не вызывает перегенерацию.
Вам дается 100 проектов, содержащих t4 шаблоны, написанные старообрядческими псоглавцами.
Ваша задача написать MSBuild скрипт, который перегенерирует весь код, созданный из этих шаблонов.
Смех тут в том, что студия перегенерирует код только если зайти в t4 шаблон и пересохранить его, чтобы время изменилось. А изменение файлов, включенных через include не вызывает перегенерацию.
no subject
Date: 2014-02-15 12:41 pm (UTC)А вообще - если я вижу что одной лямбда функцией можно заменить интерфейс+реализацию (до какого-то там дотнета не было лямбд и вывода типов нормального), то я так и делаю - меньше кода, меньше в голове держать.
no subject
Date: 2014-02-15 12:44 pm (UTC)Надо просто дождаться, когда придёт человек с установкой "надо всё переписывать" и другим языком, на котором он всё переписывает. К идеалу надо стремиться.
no subject
Date: 2014-02-15 12:52 pm (UTC)Если чо-то хочешь сказать, пиши прямо, а за ерничанием - к бостонскому в журнал, там такое любят.
no subject
Date: 2014-02-15 01:11 pm (UTC)Критерии - они разные бывают.
no subject
Date: 2014-02-15 01:24 pm (UTC)Никто ничего не переписывает, за исключением доработок с рефакторингом с вычищением накопившегося за десяток лет бреда. Или там например - зачем я буду использовать код 2005 года на .net 1.1, если он заменяется парой строчек на LINQ сейчас?
Если к тебе приходят менеджеры и говорят, на чем писать - у меня для тебя плохие новости :)
no subject
Date: 2014-02-15 03:30 pm (UTC)no subject
Date: 2014-02-15 04:23 pm (UTC)no subject
Date: 2014-02-15 04:35 pm (UTC)no subject
Date: 2014-02-15 04:50 pm (UTC)Кроме того, начиная с 3.5-4.0, имеются в меру полезные вещи. которых раньше не было - лямбды, LINQ, параметры по умолчанию, динамики и прочее такое.
У меня есть несколько сторонних либ в проекте, так они успешно все на 4.5 сбежали уже, впрочем для таких случаев я либо их пересобираю под свою версию, либо бэкпортирую новые фичи :)
no subject
Date: 2014-02-15 04:59 pm (UTC)no subject
Date: 2014-02-15 06:47 pm (UTC)no subject
Date: 2014-02-15 07:09 pm (UTC)Но тут-то суть в том, что даже неглядя на чёткое указание - критический проект, решили не переписывать - и неглядя на отсутствие информации, развивается проект или нет, ребе М. настаивает на переписывании. Сразу и безоговорочно. Ну фетиш такой у человека, что ли. Что странно, т.к. ребе М. признался, что сам-то он ничего не переписывает. Только другим советует.
no subject
Date: 2014-02-15 07:13 pm (UTC)no subject
Date: 2014-02-15 07:18 pm (UTC)no subject
Date: 2014-02-16 08:14 am (UTC)no subject
Date: 2014-02-16 08:21 am (UTC)Жиды, когда придумывали христианство как религию рабов, как раз ставили такую цель.
Поэтому, например, у многих православных наблюдается преклонение перед жидами вперемешку с завистливостью к ним же и критической неспособностью изменить положение.
no subject
Date: 2014-02-17 09:51 am (UTC)no subject
Date: 2014-02-17 10:27 am (UTC)no subject
Date: 2014-02-17 10:32 am (UTC)no subject
Date: 2014-02-17 11:16 am (UTC)