Я такой способ применял для выноса в один из базовых классов методов, которые устарели. И макросом экранировал это наследование. Таким образом можно было собирать как с поддержкой обсолет\деприкейт, так и без нее. А сам класс оставался чистым.
Можно сделать написание и компиляцию C# скриптов без перекомпиляции кода! Можно генерить код по декларативным описаниям дизайнеров. У нас например дизайнеры писали функцию расчета урона как обычную формулу а мы генерили и компилировали код, и меняли без перекомпиляции хоть в рантайме.
Повторюсь, C# может все что любой другой скриптовой язык и любая прикрутка луа и других скриптов к шарпу всегда будет бессмысленной и вызывать недоумение.
Лень тут не при чем. Я написал — ему так удобнее. Если мне удобнее переходить к куску кода крутя полосу прокрутки, то мне нет смысла учить инструмент, который меняется каждые два года.
У нас был архитектор, который был на порядок умнее всех наших сотрудников, но дебажил он не через хоткеи а через панельку в студии, ему так просто удобнее. Так что вся эта чушь по поводу умения\не умения поиска бессмысленна.
Собственно ожидаемо, от этого и засада на собеседованиях. После вопроса — «Что такое красивый\хороший код?», пытаешься угадать мысли и внутренний мир собеседника, реагируя на мимику.
Наш архитектор так и говорил — зачем нам скрипты мы и так пишем на скриптах. C# можно компилировать на лету как текст так и байткод, полная интроинспекция (рефлексия), динамическая загрузка кода и все это без потери безопасности.
В момент вызова деструктора состояние объектов класса не определен, так что вызывать диспоз в деструкторе не всегда возможно. Так же порядок вызов деструкторов не определен. Я могу вызвать диспоз для себя но для дочерних он может быть уже вызван. Собственно поэтому связка деструктор + диспоз это целый паттерн(ы).
Но как сказали выше, статья не об этом =)
>> Или будьте готовы к тому, что он вместо решения выскажет свою готовность отбить пальцы любому, кто напишет что-либо подобное в реальном проекте.
Такое желание возникает когда в очередной раз просят написать сортировку.
>>не задавайте ему вопросы а-ля “почему вы хотите работать в нашей компании”. Ответ вас удивит и расстроит :)
Я думал что все переболели уже, но буквально недавно, сами меня позвали и с порога, без здрасти — «почему вы хотите работать именно у нас?». Старался не расстраивать как мог.
Я могу ошибаться, но по моему сейчас все x86 процессоры, внутри являются RISC, к тому же Intel выпускает и GPU а там тем более все RISC.
Так что вполне ожидаемо, но холивару все равно быть!
Можно реализовать следующим способом, отдал энумератор +1, отдал второй еще +1, вызывался диспоз -1 и т.д.
А в методе Add или Remove можно проверять равно ли число 0, если нет, то мы портим коллекцию для читающих пользователей.
Это один из вариантов, можно и другими способами.
Без Dispose невозможно было бы отследить изменение коллекции в процессе итеррирования по ней. Ибо нельзя узнать, есть ли читающие пользователи у коллекции или нет. Так же написание многопоточных контейнеров тоже упрощается, так как энумератор это частичка контейнера, которая отдается наружу, и нужно точно знать когда все началось и когда все закончилось.
Если при общении через скайп или почту непонятно что за фирма или чем она занимается, ехать нужно только для того чтобы потренировать себя, не более.
После приезда на собеседование, необходимо сначала задать вопросы чару (заодно оцените их реакцию), про фирму, про успешные и не успешные проекты, про условия, про состав команды, про перспективы, про конкретную вакансию и про роль этой вакансии в фирме.
После этого прям там уже можно решить подходит вам вакансия или нет и согласиться писать дурацкие тесты, если есть желание. Поотвечать на вопросы, рассказать о себе.
Любой другой порядок отношений ломает основной принцип, принцип сотрудничества.
Повторюсь, C# может все что любой другой скриптовой язык и любая прикрутка луа и других скриптов к шарпу всегда будет бессмысленной и вызывать недоумение.
Но как сказали выше, статья не об этом =)
Такое желание возникает когда в очередной раз просят написать сортировку.
Я думал что все переболели уже, но буквально недавно, сами меня позвали и с порога, без здрасти — «почему вы хотите работать именно у нас?». Старался не расстраивать как мог.
Так что вполне ожидаемо, но холивару все равно быть!
А в методе Add или Remove можно проверять равно ли число 0, если нет, то мы портим коллекцию для читающих пользователей.
Это один из вариантов, можно и другими способами.
После приезда на собеседование, необходимо сначала задать вопросы чару (заодно оцените их реакцию), про фирму, про успешные и не успешные проекты, про условия, про состав команды, про перспективы, про конкретную вакансию и про роль этой вакансии в фирме.
После этого прям там уже можно решить подходит вам вакансия или нет и согласиться писать дурацкие тесты, если есть желание. Поотвечать на вопросы, рассказать о себе.
Любой другой порядок отношений ломает основной принцип, принцип сотрудничества.