Безумие и отвага
Вопрос на собеседование:
Вам дается 100 проектов, содержащих t4 шаблоны, написанные старообрядческими псоглавцами.
Ваша задача написать MSBuild скрипт, который перегенерирует весь код, созданный из этих шаблонов.
Смех тут в том, что студия перегенерирует код только если зайти в t4 шаблон и пересохранить его, чтобы время изменилось. А изменение файлов, включенных через include не вызывает перегенерацию.
Вам дается 100 проектов, содержащих t4 шаблоны, написанные старообрядческими псоглавцами.
Ваша задача написать MSBuild скрипт, который перегенерирует весь код, созданный из этих шаблонов.
Смех тут в том, что студия перегенерирует код только если зайти в t4 шаблон и пересохранить его, чтобы время изменилось. А изменение файлов, включенных через include не вызывает перегенерацию.
no subject
no subject
Зачастую при переписывании на функциональном языке проявляются алгоритмические проёбы, которые никаким с++ не компенсируются.
no subject
- С++ неадекватный язык - несмотря на то, что на нём уже написан огромный проект и он приносит прибыль, так что непонятны ваши критерии адекватности
- система не разбита на подсистемы - а она разбита, и весьма грамотно
- существуют "адекватные" и "неадекватные" языки в вакууме, т.е. сами по себе, без конкретной ситуации
- сами по себе языки (а именно функциональные) позволяют выявить какие-то там проёбы, видимо, они и есть серебряная пуля
В общем, мне даже непонятно, как тут можно спорить, вы совершенно во всём правы.
http://www.joelonsoftware.com/articles/fog0000000069.html
The idea that new code is better than old is patently absurd. Old code has been used. It has been tested. Lots of bugs have been found, and they've been fixed.
no subject
В подавляющем большинстве случаев.
"несмотря на то, что на нём уже написан огромный проект и он приносит прибыль"
На коболе тоже написаны огромные проекты, которые приносят прибыль. Однако появились более удачные языки и на коболе больше не пишут.
"существуют "адекватные" и "неадекватные" языки в вакууме"
Нет, если бы существовали адекватные языки в вакууме, я бы предложил переписать весь проект на адекватный язык. Я же предложил переписать часть подсистем на адекватный язык. Очевидно, адекватный предметке конкретной подсистемы.
"сами по себе языки (а именно функциональные) позволяют выявить какие-то там проёбы"
Вы в это не верите? Серьёзно? Даже ни тени сомнения? Ну извини, даже обсуждать тогда не хочется.
no subject
no subject
Ещё раз, я ни разу не сказал, что нужно всё и безоговорочно переписывать. Нужно в любом случае сравнивать отдачу от переписывания с затратами.
no subject