четверг, 31 января 2013 г.

Visual Studio 2012 Update 2

Анонсировали новое обновление для VS2012 (и уже зарелизили).

Здесь можно найти пост со списком всех фичей подробно.

Update:
  • Пост был написан на анонс CTP. Релизный Update 2 уже поставил. Пока серьезных косяков не обнаружено.
  • новый компилятор С++ не попал (даже в релизном Update 2 его нет)
  • какие то проблемы с TFS после установки
  • снос Update 2 CTP ломает студию. Надо делать repair.
  • в релизе починили багу с подвисанием студии при получении большого солюшена из TFS
  • если вы, так же как и мы, мучаетесь с поддержкой Windows XP, то имейте ввиду, что Update 2 отрубает использование ATL на этой ОС (в его хедерах цепляется функция InitializeCriticalSectionEx). Надо немного допиливать свои исходники. Или воспользоваться Update 3 RC1, где эта проблема решена :)
Из нового:
  1. Agile Planning
  2. Quality Enablement
  3. Line of Business Development
  4. Developer Experience
Из реально интересного:

А вообще оперативненько обновления клепают. Как и обещали, раз в квартал.

PS Надо проверить попал ли в этот Update ноябрьский CTP для компилятора С++ с вкусностями С++11 - уже проверил не попал :(


      пятница, 11 января 2013 г.

      Запуск С++ unit-тестов в Visual Studio 2012

      Особенности Visual Studio 2012 C++ unit-test framework'а
      Собственно описание. Ничего особенного (если не считать самого факта наличия в VS2012 библиотеки для тестирования native С++). Работает достаточно шустро.

      Недостатки в сравнении с Google C++ Testing Framework:
      1. Нет Expect_Fail, что означает следующее. Если результат не соответствует ожиданию тест сразу останавливает работу, не проверяя другие условия если они есть. Подробнее о разнице assert vs expect можно посмотреть здесь.
      2. Исключения только "ожидаемые" и без учета типов.
      3. Во время запуска тестов результаты никуда не пишутся (в файл). Минорно, но факт.
      4. Возможности по расширению в GTF намного больше. Опять же для mock по-любому придется использовать Google C++ Mocking Framework.
      5. Если используете тестовое логирование, то результаты ищете в специальном окне Output "Tests":



      Для автоматизации использовать VSTest.Console.exe.
      Можно группировать тесты. Подробности здесь.

      Для понятного отображения результатов Google C++ Testing Framework можно использовать Google Test Adapter. Beta, результаты смотреть стало удобней. Но пока не работает "скачок" из результата теста в код. Исходников расширения автор не показывает, будем надеяться, что он сам разберется и починит проблему.
      Для счастливчиков использующих Visual Studio 2012 или 2013 можно использовать GoogleTest Runner. Он стабильней и работает переход от тестов к коду.

      Корявости общего юзабилити Test Explorer'a (навеяно общением с @Advard, он на большинство вещей и наткнулся)
      1. Нет возможности частичного копирования рез-тов теста(ов). Только Copy All по правому клику или Ctrl+C в окне с результатом теста. И даже этот костылек прикрутили в последнюю очередь (пруф)
      2. Test Explorer не открывается сам (например будучи свернутым), если при автоматическом запуске тестов после сборки были ошибки в тестах. Странно и неудобно.
      3. Нельзя посмотреть всю картинку: только список тестов. Summary содержит только общие рез-ты. Хотя... может это и правильно: все равно будешь разбираться последовательно. Но общей картины "катастрофы" лично мне не хватает.
      4. Наблюдаются проблемы с фичей "автозапуск тестов после билда". Неоднократно воспроизводилась проблема, когда после билда тесты "запускаются" по старому коду или скорее всего совсем не запускаются, а показываются старые результаты. Странно, но факт. Воспроизводится и на C++, и на C#. В итоге после "автозапуска" тесты зеленые, а при ручном повторном запуске уже красные. Стремно. Поэтому запуск Google тестов "рулит".

      У меня есть еще небольшой пост про то, как начать тестировать C++.

      понедельник, 7 января 2013 г.

      М.Завилейский "Мотивация - что, как, когда"

      Доклад М. Завилейского на IT talk.

      В Питере я пропустил это мероприятие (жестоко заболел), но спасибо DataArt, они выложили видео аналогичного мероприятия в Воронеже.

      Долго, не очень хороший звук, НО офигенно полезная информация о том, как правильно мотивировать и демотивировать (оказывается это тоже нужно уметь делать) сотрудников. Что можно, а что нельзя делать, и прочее.

      Масса примеров из жизни DataArt.



      Подробности о модели Герчикова, которую Михаил упоминает в своем докладе.

      ЗЫ не знаю насколько видео "паблик", но смотрите пока мне по шапке не настучали :)

      Герб Саттер: "Вы не знаете const и mutable"

      Интересный доклад Саттера "You don't know [blank] and [blank]" с конференции "C++ and Beyond 2012"

      Рекомендую посмотреть (всего 30 мин отличного английского). Лично я не знал про такие новшества в интерпретации const и mutable.

      Для ленивых все видео в одном слайде:
      Интригует?




















      ЗЫ Больше видео с этой конференции здесь