Team Foundation Server 11 способствует повышению производительности труда разработчиков

Общие сведения

Это практическое занятие посвящено одному из сценариев типа «подгонка и доводка» в Team Foundation Server 11, который позволит разработчикам повысить производительность труда при написании кода и сотрудничестве с другими членами рабочей группы. Вы узнаете о новых встроенных средствах анализа кода, новом инструменте My Work (Моя работа) для управления активными задачами. Как только вы попадаете в «зону» Visual Studio, система помогает сосредоточиться на поставленной задаче, независимо от того, сколько параллельных задач вам приходится решать. Это стало возможным благодаря новой модели «приостановка и возобновление». Вы также научитесь беспрепятственно работать в автономном режиме, пользоваться функциями слияния и легко находить рабочие элементы.

Необходимые условия

Для этого практического занятия вам понадобится виртуальная машина Visual Studio 11, предоставляемая компанией Microsoft. Дополнительная информация о получении и использовании этой виртуальной машины представлена на сайте здесь.

Информация о сценарии Fabrikam Fiber

В данной группе практических занятий для более удобного изучения сценариев упоминается вымышленная компания Fabrikam Fiber, которая предоставляет доступ к кабельному телевидению и оказывает сопутствующие услуги в США. С целью масштабирования своего веб-сайта для клиентов она использует приложение Windows Azure, чтобы предоставить конечным пользователям возможность самообслуживания и отслеживания доступности технических специалистов. В компании используется также локальное приложение ASP.NET MVC для повышения эффективности работы представителей отдела обслуживания клиентов. Приложение позволяет управлять процессом выполнения заказов клиентов.

В рамках этой группы практических занятий вы примете участие в ряде сценариев, в которые вовлечены разработчики и тестировщики компании Fabrikam Fiber. Рабочая группа из 8–10 специалистов решила использовать инструменты управления жизненным циклом приложений Visual Studio для управления исходным кодом, запуска сборок, проверки веб-сайтов, а также планирования и мониторинга процесса реализации проекта.

Упражнения

Данное практическое занятие включает следующие упражнения:

  1. Обзор инструмента Team Explorer (Командный обозреватель).
  2. Инструмент My Work (Моя работа).
  3. Локальные рабочие пространства.
  4. Ожидающие изменения.
  5. Приостановка и возобновление, анализ кода.
  6. Слияние.

Примерная продолжительность практического занятия: 60 минут.

Упражнение 1. Обзор инструмента Team Explorer (Командный обозреватель)

Выполнив данное упражнение, вы получите общее представление об изменениях, внесенных в Team Explorer (Командный обозреватель) в этом выпуске, и научитесь ориентироваться в предлагаемой функциональности. Для тех, кто столкнулся с Team Foundation Server впервые, следует отметить, что Team Explorer (Командный обозреватель) — это основной инструмент, предоставляющий пользователю Visual Studio доступ к функциональным возможностям Team Foundation Server.

  1. Войдите в систему с логином Julia. Для всех учетных записей используется пароль P2ssw0rd.
  2. Запустите Visual Studio 11 при помощи ярлыка на панели задач или через меню Start | All Programs | Microsoft Visual Studio 2012 (Пуск | Все программы | Microsoft Visual Studio 11).

Рисунок 1. Запуск Visual Studio 2012

  1. Откройте окно Team Explorer(Командный обозреватель) через меню View | Team Explorer (Вид | Командный обозреватель), если оно еще не было выведено на экран. Обратите внимание на сходство появившихся здесь узлов высокого уровня с узлами, использовавшимися в предыдущих версиях Team Explorer (Командный обозреватель). Заметное изменение — новый пункт меню Pending Changes (Отложенные изменения).

Рисунок 2. Team Explorer (Командный обозреватель) — домашняя страница

Примечание. Изменения, направленные на повышение производительности, коснулись многих компонентов Visual Studio 2012. Там где это возможно, большое количество задач выполняется асинхронно и по требованию. Одним из примеров является инструмент Team Explorer (Командный обозреватель), который загружается практически мгновенно. Когда вы переходите на определенный узел Team Explorer (Командный обозреватель), контент будет получен с сервера по требованию.

  1. Навигация в Team Explorer(Командный обозреватель) аналогична навигации в обычных веб-приложениях. Вы переходите по ссылкам с домашней страницы и можете перемещаться вперед и назад, а также возвращаться на домашнюю страницу. Мы познакомимся с навигацией более подробно в следующем упражнении, при изучении различных узлов и страниц в Team Explorer (Командный обозреватель).

Рисунок 3. Элементы навигации в Team Explorer (Командный обозреватель)

  1. Щелкните ссылку Work Items(Рабочие элементы) на домашней странице Team Explorer (Командный обозреватель).

Рисунок 4. Ссылка Work Items (Рабочие элементы)

  1. Представление Work Items(Рабочие элементы) отображает запросы, добавленные в избранное для вошедшего в систему пользователя и рабочей группы, а также позволяет добавлять новые запросы и рабочие элементы.

Рисунок 5. Представление Work Items (Рабочие элементы) отображает все запросы

  1. Нажмите стрелку back(Назад) для возврата на домашнюю страницу.

Рисунок 6. Местоположение стрелки back (Назад)

  1. Щелкните ссылку Source Control Explorer (Обозреватель управления исходным кодом).

Рисунок 7. Ссылка Source Control Explorer (Обозреватель управления исходным кодом)

Рисунок 8. Окно Source Control Explorer (Обозреватель управления исходным кодом)

  1. Щелкните ссылку Settings(Настройки) для просмотра параметров проекта рабочей группы и сборника проектов рабочей группы.

Рисунок 9. Ссылка Settings (Настройки)

Рисунок 10. Настройки Team Explorer (Командный обозреватель)

  1. Нажмите стрелку back(Назад) еще раз для возврата на домашнюю страницу.
  2. Щелкните ссылку Builds(Сборки) для перехода к инструментам управления определениями построений и просмотра истории сборки.

Рисунок 11. Ссылка Builds (Сборки)

Рисунок 12. Окно Builds (Сборки), отображающее определения построений и предыдущие сборки

  1. В следующих упражнениях мы познакомимся с новым инструментом My Work (Моя работа).

Упражнение 2. Инструмент My Work («Моя работа»)

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

  1. В окне Team Explorer (Командный обозреватель) выберите узел My Work (Моя работа).

Рисунок 13. Ссылка My Work (Моя работа)

  1. Узел My Work (Моя работа) отображает активные рабочие элементы, доступные рабочие элементы, а также приостановленные и отложенные работы для текущего пользователя. Этот новый рабочий процесс использует модель разработки на основе задач, обеспечивая согласованность усилий всех членов рабочей группы.

Рисунок 14. Окно My Work (Моя работа), отображающее все доступные и текущие задачи

  1. Щелкните гиперссылку Open Query (Открыть запрос) в разделе Available Work Items (Доступные рабочие элементы).

Рисунок 15. Ссылка Open Query (Открыть запрос)

  1. Нажмите кнопку Edit Query(Редактировать запрос).

Рисунок 16. Просмотр принятого по умолчанию определения запроса в окне Available Work Items (Доступные рабочие элементы)

  1. Как видно из определения запроса, рабочие элементы включаются в набор Available Work Items (Доступные рабочие элементы), если значение в поле Work Item Type (Тип рабочего элемента) относится к группе Microsoft.TaskCategory (Категория задачи Microsoft).

Рисунок 17. Предложения запроса Available Work Items (Доступные рабочие элементы)

Примечание. Предлагаемые рабочие элементы и их соответствие концепции My Work (Моя работа) зависят от шаблона процесса. В шаблоне процесса Scrum сюда включаются задачи и ошибки по умолчанию.

  1. Давайте займемся одним из доступных рабочих элементов. На странице My Work (Моя работа) щелкните правой кнопкой мыши элемент, название которого начинается с фразы Review new feature… (Оценка новой функции...) и выберите пункт Add to In Progress(Добавить в группу «Выполняется») в контекстном меню. Таким образом мы информируем нашу рабочую группу о текущем состоянии рабочего элемента.

Рисунок 18. Щелкните правой кнопкой мыши рабочие элементы, чтобы переместить их между состояниями

Рисунок 19. Результирующий вид окна My Work (Моя работа) после переноса работы из списка Available (Доступные) в список In Progress (Выполняется)

Упражнение 3. Локальные рабочие пространства

Данное упражнение познакомит вас с локальными рабочими пространствами и теми преимуществами, которые они обеспечивают с точки зрения автономной разработки.

  1. Запустите решение FabrikamFiber.CallCenter (Центр обработки вызовов FabrikamFiber) из ветви Dev (Разработка) в окне Source Control Explorer (Обозреватель управления исходным кодом).

Рисунок 20. Окно Source Control Explorer (Обозреватель управления исходным кодом)

  1. До появления Team Foundation Server 11, операции управления исходным кодом выполнялись исключительно на сервере. Поэтому работать в автономном режиме часто было очень утомительно. С целью оптимизации работы малых рабочих групп над небольшими проектами был разработан инструмент Local Workspaces(Локальные рабочие пространства). Этот инструмент обеспечивает более клиентоориентированный рабочий процесс, схожий с процессом управления версиями по принципу Modify-Merge-Commit(Изменение–слияние–фиксация).
  2. По-прежнему поддерживаются рабочие пространства на основе сервера, которые целесообразнее использовать в рамках крупных проектов. Загрузите окно Manage Workspaces (Управление рабочими пространствами), набрав workspaces (Рабочие пространства) в поле поиска Quick Launch (Быстрый запуск), расположенном в правом верхнем углу окна Visual Studio. Результаты поиска загрузятся через одну–две секунды.

Рисунок 21. Местоположение панели Quick Launch (Быстрый запуск)

Примечание. Поле поиска Quick Launch (Быстрый запуск) впервые появилось в Visual Studio 2012. Оно позволяет сэкономить время, поскольку вам не придется искать различные инструменты и команды в меню. Используйте комбинацию клавиш Ctrl + Q для перехода в поле поиска без использования мыши.

  1. Выберите ссылку Workspaces…(Рабочие пространства…).

Рисунок 22. Выбор ссылки Workspaces (Рабочие пространства)

  1. В окне Manage Workspaces(Управление рабочими пространствами) нажмите кнопку Add… (Добавить...) для создания нового рабочего пространства.

Рисунок 23. Местоположение кнопки Add (Добавить), предназначенной для создания нового рабочего пространства

  1. В окне Add Workspace (Добавить рабочее пространство) нажмите кнопку Advanced(Дополнительно), чтобы увидеть все доступные опции.

Рисунок 24. Местоположение кнопки Advanced (Дополнительно), предназначенной для отображения расширенных свойств рабочего пространства

  1. Найдите свойство Location(Местоположение) для рабочего пространства. По умолчанию новые рабочие пространства будут локальными. Вы также можете создать рабочее пространство на основе сервера, если это необходимо.

Рисунок 25. Выбор между локальным и серверным рабочим пространством

  1. Закройте окна инструмента управления рабочими пространствами, дважды нажав клавишу ESCAPE на клавиатуре.
  2. В окне Solution Explorer(Обозреватель решений) разверните проект FabrikamFiber.Web(Веб-страница FabrikamFiber). Затем разверните папку Content(Содержимое).

Рисунок 26. Переход к папке Content (Содержимое) проекта FabrikamFiber.Web (Веб-страница FabrikamFiber)

  1. Однократно щелкните файл fullcalendar.css для просмотра его содержимого. Обратите внимание, файл загружается в редакторе исходного кода CSS Source Editor, но вкладка для него отображается справа. Новый тип вкладки называется preview(Предварительный просмотр). Когда вы используете клавиши со стрелками для перехода от одного файла к другому или открываете их однократным щелчком мыши, на вкладке предварительного просмотра будет отображаться последний выбранный элемент. Вкладки предварительного просмотра позволяют избежать переполнения рабочего пространства Visual Studio вкладками для файлов, которые были нужны вам всего лишь временно.

Рисунок 27. Вкладка Preview (Предварительный просмотр)

Примечание. На вкладке предварительного просмотра имеется кнопка, позволяющая превратить ее в обычную вкладку. Обратите внимание на стрелку на снимке экрана вверху.

  1. Внесите произвольные изменения в файл fullcalendar.css, изменив одно из свойств стиля. Visual Studio укажет, что файл был изъят из хранилища. Однако имейте в виду, что это актуально только в локальном рабочем пространстве. Другие члены рабочей группы не узнают, что вы работаете с данным файлом.

Рисунок 28. Отметка рядом с файлом показывает, что вы внесли в него изменения локально

  1. Два главных преимущества локальных рабочих пространств: сценарий автономной работы значительно оптимизирован, и стало намного проще использовать внешние инструменты для работы с файлами в системе управления исходным кодом. Чтобы продемонстрировать оба эти преимущества в действии, продолжим работу и остановим сервер Team Foundation Server в службах IIS. Это позволит смоделировать ситуацию, когда вы работаете в автономном режиме, например пишете программу, находясь на пляже. В реальной жизни вы никогда не будете писать код на пляже, а будете наслаждаться отдыхом.
  2. Запуститеприложение Internet Information Services (IIS) Manager (Диспетчер IIS) из меню Start | All Programs | Administrative Tools (Пуск | Все программы | Администрирование).

Рисунок 29. Местоположение ярлыка для IIS Manager (Диспетчер IIS)

  1. В окне IIS Manager (Диспетчер IIS)разверните узел сервера VSALM и узел Sites(Сайты) для поиска и выбора сайта Team Foundation Server.

Рисунок 30. Остановка сервера Team Foundation Server

  1. На панели Actions(Действия) нажмите кнопку Stop (Стоп) [местоположение кнопки показано на снимке экрана вверху].
  2. Вернитесь в Visual Studio, загрузите окно Source Control Explorer(Обозреватель управления исходным кодом) и нажмите кнопку Refresh(Обновить). Обратите внимание, что окно перешло в состояние Disconnected (Отключено).

Рисунок 31. Source Control Explorer (Обозреватель управления исходным кодом) в отключенном состоянии

  1. Несмотря на то, что мы отключились от Team Foundation Server, можно продолжать работу. Щелкните правой кнопкой мыши папку Content(Содержимое) в Solution Explorer (Обозреватель решений) и выберите пункт меню Open Folder in Windows Explorer (Открыть папку в проводнике Windows).

Рисунок 32. Местоположение пункта меню, предназначенного для открытия папки в Explorer (Проводник)

  1. Добавьте новый файл в папку Content (Содержимое), щелкнув правой кнопкой мыши пустую область этого представления и выбрав New | Text Document (Создать | Текстовый документ) из контекстного меню.

Примечание. Этот файл понадобится нам в дальнейшем. Его содержимое не имеет значения.

Рисунок 33. Создание нового текстового документа

  1. В окне Explorer (Проводник) щелкните правой кнопкой мыши файл Site.css и выберите Open With | Notepad(Открыть с помощью | Блокнот) из контекстного меню.

Рисунок 34. Открытие отмеченного файла в Notepad (Блокнот)

  1. В Notepad (Блокнот) измените цвет для стиля body (Основная часть) на red (Красный).

Рисунок 35. Редактирование файла в Notepad (Блокнот) и сохранение изменений

  1. В Notepad (Блокнот) выберите команду save (Сохранить) и close (Закрыть) для файла Site.css. Затем вернитесь к Solution Explorer (Обозреватель решений). Обратите внимание, что платформа Visual Studio обнаружила изменения в файле, и что файл не был доступен в режиме «только для чтения», как в случае с рабочим пространством на основе сервера.

Рисунок 36. Visual Studio отображает, что файл был изменен

Упражнение 4. Отложенные изменения

В данном упражнении вы познакомитесь с инструментом Pending Changes (Отложенные изменения) в Team Explorer (Командный обозреватель).

  1. На домашней странице Team Explorer(Командный обозреватель) выберите ссылку Pending Changes(Отложенные изменения).

Рисунок 37. Ссылка Pending Changes (Отложенные изменения)

Примечание. Если вы получили сообщение об ошибке в окне Pending Changes (Отложенные изменения) с информацией о том, что приложению не удается подключиться к удаленному серверу, закройте это сообщение и проигнорируйте его, поскольку мы специально остановили сервер Team Foundation Server в предыдущем упражнении.

  1. В окне Pending Changes (Отложенные изменения) мы видим, что два изменения, которые были внесены в существующие файлы в предыдущем упражнении, автоматически отображаются в разделе Included Changes (Включенные изменения).

Рисунок 38. Окно Pending Changes (Отложенные изменения), в котором показаны включенные в этот список изменения

  1. В разделе Excluded Changes(Исключенные изменения) обнаружены изменения, которые не были автоматически включены в список отложенных. Щелкните ссылку Detected changes (1) (Обнаруженные изменения (1)).

Рисунок 39. Некоторые изменения были обнаружены, но не были автоматически активированы

  1. В окне Promote Candidate Changes(Активировать изменения) вы можете увидеть дополнения к новому текстовому документу. Нажмите кнопку Promote (Активировать) для добавления этой позиции к группе изменений, которые вы хотите включить в следующий цикл регистрации.

Рисунок 40. Активируем изменения вручную

  1. Теперь вы увидите три внесенных изменения.

Рисунок 41. Обновленное представление, отображающее все изменения, включенные в список отложенных

  1. Мы можем продолжать работу над нашим проектом в автономном режиме. Однако обратите внимание, что мы не можем провести регистрацию, поскольку кнопка Check-In(Регистрация) не активна (серая).

Рисунок 42. Зарегистрировать изменения в автономном режиме нельзя

  1. В окне приложения Internet Information Services (IIS) Manager (Диспетчер IIS) выберите сайт Team Foundation Serverи нажмите кнопку Start (Запуск) на панели Actions (Действия).

Рисунок 43. Запуск сервера Team Foundation Server

  1. Вернитесь в Visual Studio и нажмите кнопку Refresh (Обновить) в окне Team Explorer — Pending Changes(Командный обозреватель — Отложенные изменения). Мы снова подключились к серверу и кнопка Check-In(Регистрация) опять стала активной. На данном этапе не следует регистрировать изменения.

Рисунок 44. Обновление окна Pending Changes (Отложенные изменения) для подключения к Team Foundation Server

Упражнение 5. Приостановка и возобновление, анализ кода

В этом упражнении вы узнаете о новых функциях приостановки и возобновления рабочих элементов и новом интегрированном инструменте анализа кода.

  1. Другая распространенная, но неизбежная трудность, с которой сталкиваются разработчики — необходимость переключения между различными задачами. В предыдущих выпусках Team Foundation Server эта проблема решалась при помощи инструмента Shelvesets (Наборы отложенных изменений), который позволял сохранить изменения на сервере, даже если вы не были готовы зарегистрировать эти изменения в системе управления исходным кодом. В Team Foundation Server 2011 появилась новая функция — Suspend and Resume (Приостановка и возобновление) — помимо создания набора отложенных изменений. Локально сохраняются некоторые другие данные, такие как точки останова и позиции окон инструментов.
  2. Новое упражнение мы начинаем с того состояния, на котором остановились в предыдущем упражнении. У нас есть набор отложенных изменений, которые должны быть внесены в процессе выполняемой работы. Загрузите окно My Work (Моя работа) в Team Explorer (Командный обозреватель) для получения информации о текущих работах.

Рисунок 45. В окне My Work (Моя работа) отображаются все работы, независимо от их статуса

  1. В рамках этого сценария представьте себе следующее: мы также открыли окна других средств отладки и определили точки останова, чтобы убедиться в отсутствие ошибок в алгоритмах, над которыми работаем. Откройте файл HomeController.cs в меню FabrikamFiber.Web | Controllers(Веб-страница FabrikamFiber | Контроллеры) и добавьте точку останова для первой строки конструктора HomeController, как показано ниже на рисунке 46.

Рисунок 46. Создание точки останова

  1. Откройте окно Immediate (Проверка) в меню Debug | Windows | Immediate(Отладка | Windows | Проверка).
  2. Теперь представьте, что ваш начальник просит вас прекратить работу над текущей задачей и немедленно устранить критическую ошибку. Нам потребовалось достаточно много времени для компоновки инструментов отладки в Visual Studio, и мы хотели бы иметь возможность вернуться к текущей ситуации после того, как исправим другую ошибку.
  3. Нажмите клавиши CTRL + SHIFT + Sдля сохранения всех открытых файлов.
  4. В Team Explorer (Командный обозреватель) перейдите к экрану My Work (Моя работа), щелкните ссылку Suspend & Shelve(Приостановить и отложить) и нажмите кнопку Suspend(Приостановить). Мы могли бы изменить описание, но так как в настоящее время занимаемся этим рабочим элементом, то соответствующее поле было заполнено автоматически.

Рисунок 47. Приостановка работы

  1. Удалите все точки останова, нажав клавиши CTRL + SHIFT + F9. Нажмите кнопку Yes (Да) для подтверждения действия.

Рисунок 48. Удаление всех точек останова

  1. Закройте все окна документа, выбрав Window | Close All Documents(Окно | Закрыть все документы) в главном меню.
  2. Вернитесь к исходной компоновке окна, выбрав Window | Reset Window Layout (Окно | Сброс макета окон) в главном меню.

Рисунок 49. Возврат к исходному виду окна

  1. На данном этапе вы получили аккуратное рабочее пространство, а предыдущие задачи, над которыми вы работали, должны отображаться в разделе Suspended & Shelved Work(Приостановленные и отложенные работы) в окне My Work (Моя работа).

Рисунок 50. Раздел окна My Work (Моя работа), отображающий приостановленные задачи

  1. Обратите внимание на поле поиска рабочих элементов в верхней части окна Team Explorer (Командный обозреватель). Этот инструмент позволяет выполнить поиск всех рабочих элементов в выбранном проекте рабочей группы. Введите слово Canadian в поле поиска и нажмите клавишу Enter (Ввод) на клавиатуре, чтобы найти критическую ошибку, которую вас попросили исправить.

Рисунок 51. Поиск рабочих элементов

Примечание. Быстрый поиск для введенных ключевых слов по умолчанию осуществляется по названию проекта рабочей группы, описанию и полю «Шаги по воспроизведению». Вы также можете щелкнуть стрелку раскрывающегося списка для отображения истории поиска и добавления параметров поиска для метаданных, таких как тип рабочего элемента или сотрудник, которому присвоен рабочий элемент.

  1. Дважды щелкнитесообщение об ошибке, озаглавленной Customers with Canadian addresses not displaying properly (Адрес клиента в формате, принятом в Канаде, отображается неверно).

Рисунок 52. Местоположение критической ошибки, которую необходимо исправить

  1. В окне, отображающем информацию об ошибке, щелкните ссылку Tasks(Задачи) для отображения связанных с этой ошибкой рабочих элементов. Обратите внимание, в списке присутствуют две дочерние задаlчи.

Рисунок 53. Просмотр существующих дочерних задач

  1. Представьте себе, что другие члены рабочей группы уже занимаются этими дочерними задачами. Но нам известно о другой проблеме, связанной с родительской ошибкой, которая также должна быть устранена. Нажмите кнопку New (Создать) в разделе Tasks (Задачи) для создания новой дочерней задачи.

Рисунок 54. Создание новой дочерней задачи

  1. Для вновь подключенного рабочего элемента выберите Link Type(Тип ссылки) — Child (Дочерний элемент), Work Item Type(Тип рабочего элемента) — Task(Задача). Введите Title(Заголовок) — Fix RegEx for Zip code property (Исправить RegEx для свойства Zip code), затем нажмите кнопку OK.

Рисунок 55. Создание новой дочерней задачи

  1. Назначьте сотрудника Juliaответственной за выполнение этой задачи и нажмите кнопку Save Work Item (Сохранить рабочий элемент).

Рисунок 56. Назначение сотрудника Julia ответственной за выполнение работы

  1. Вернитесь в окно Team Explorer — My Work (Командный обозреватель — Моя работа). В разделе Available Work Items (Доступные рабочие элементы) должна появиться новая задача.

Рисунок 57. Местоположение новой задачи в разделе My Work (Моя работа)

  1. Щелкните правой кнопкой мыши новую задачу под названием Fix RegEx for Zip code property(Исправить RegEx для свойства Zip code) и выберите пункт Add to In Progress(Добавить в группу «Выполняется») из контекстного меню.

Рисунок 58. Перемещение новой задачи в группу In Progress (Выполняется)

  1. В окне Solution Explorer(Обозреватель решений) откройте файл Address.cs в папке Models (Модели) проекта FabrikamFiber.DAL. Свойство Address.Zip в настоящее время использует неправильное регулярное выражение для аннотирования данных. В результате пользователи веб-приложения могут ввести неверный почтовый индекс для канадских адресов.

Рисунок 59. Исходный код с ошибкой

  1. Предположим, что правильным решением будет обновление регулярного выражения. Закомментируйте текущее регулярное выражение, а затем раскомментируйте другое выражение.

Рисунок 60. Исходный код с исправленной ошибкой

  1. Нажмите клавиши CTRL + Sдля сохранения изменений в файле.
  2. Теперь, когда ошибка исправлена, давайте попросим сотрудника Cameron выполнить проверку изменений в коде, чтобы убедиться, что всё выглядит правильно. В окне Team Explorer — My Work (Командный обозреватель — Моя работа) щелкните ссылку Request Review (Запросить проверку).

Рисунок 61. Местоположение ссылки Request Review (Запросить проверку)

  1. Введите Cameron Skinner в качестве имени рецензента и нажмите клавишу Enter (Ввод) на клавиатуре. Введите описание Please check my regular expression change(Пожалуйста, проверьте измененное мною регулярное выражение) и нажмите кнопку Submit Request (Отправить запрос).

Рисунок 62. Оформление запроса на проверку кода

  1. Войдите в систему с логином Cameron, чтобы выполнить проверку кода. Нажмите Start -> Switch User (Пуск -> Сменить пользователя). Пароль для всех учетных записей в данной виртуальной машине P2ssw0rd.
  2. Загрузите Visual Studio 2012, откройте Team Explorer (Командный обозреватель) и перейдите к My Work (Моя работа). Новый запрос на проверку кода отображается в разделе Code Reviews & Requests(Проверка кода и запросы) внизу.

Рисунок 63. Code Reviews & Requests (Проверка кода и запросы) — раздел окна My Work (Моя работа)

  1. Дважды щелкните запрос на проверку кода, чтобы открыть окно Code Review(Проверка кода). Это представление позволяет сотруднику Cameron увидеть всю доступную информацию о запросе и определить, стоит ли принять или отклонить задачу. Он может просмотреть весь набор отложенных изменений и список других рецензентов, а также добавить кого-либо в список рецензентов, просмотреть соответствующие рабочие элементы, комментарии, связанные с запросом на проверку кода и, наконец, может отследить все изменения в файлах одним щелчком мыши.

Рисунок 64. Окно Code Review (Проверка кода)

  1. В окне Code Review(Проверка кода) нажмите кнопку Accept(Принять), чтобы приступить к проверке.

Рисунок 65. Местоположение кнопки Accept (Принять)

  1. Выберите файл Address.csиз раздела «Комментарии», чтобы открыть его при помощи нового встроенного инструмента сравнения.

Рисунок 66. Местоположение файла с исправленной ошибкой

  1. По умолчанию мы просматриваем изменения в режиме параллельного сравнения. Красный цвет фона принят для изменений в старой версии (слева), а зеленый — в новой (справа). В режиме сравнения в нижней части окна отображаются условные обозначения.

Рисунок 67. Встроенный инструмент сравнения позволяет увидеть отличия между старой и новой версиями кода

Примечание. Новый инструмент сравнения Visual Studio 2012 полностью интегрирован в редактор. Он также используется в процессе слияния, с которым мы познакомимся далее.

  1. В панели инструментов Compare Files (Сравнить файлы) нажмите кнопку раскрывающегося меню compare mode(Режим сравнения). Вы увидите различные режимы отображения, которые инструмент сравнения может использовать. Попробуйте использовать несколько различных режимов.

Примечание. Если панель инструментов Compare Files (Сравнить файлы) не была открыта, откройте ее через главное меню Visual StudioView | Toolbars | Compare Files (Вид | Панели инструментов | Сравнить файлы).

Рисунок 68. Местоположение кнопки выбора режима сравнения

  1. Допустим, мы согласны с тем, что изменения верны. Продолжим работу, добавив комментарий рецензента по этому поводу. Щелкните ссылку Reply (Ответить) под сообщением сотрудника Julia.

Рисунок 69.Местоположение ссылки Reply (Ответить), которая позволяет оставлять комментарии

  1. В качестве комментария введите that looks good (Все верно) и нажмите кнопку Save(Сохранить).

Рисунок 70. Вводим ответ на комментарий

  1. Обратите внимание, рядом с новым комментарием присутствует надпись Unsent (Не отправлен). Комментарий не будет отправлен, пока сотрудник Cameron не закончит проверку.

Рисунок 71. Комментарий не отправляется автоматически

  1. Вы также можете оставить комментарии для отдельных файлов и блоков кода. В инструменте сравнения воспользуйтесь мышью, чтобы выделить название свойства Zip, щелкните правой кнопкойи выберите пункт Add Comment (Добавить комментарий) в контекстном меню.

Рисунок 72. Добавление комментария для кода

  1. В поле для комментариев введите Consider renaming PostalCode (Подумайте над переименованием PostalCode) и щелкните ссылку Save(Сохранить).

Рисунок 73. Добавление заметки для кода

  1. Щелкните ссылку Send Comments(Отправить комментарии) в верхней части окна Code Review (Проверка кода) для отправки подготовленных комментариев. Возможность немедленной отправки комментариев может быть полезна в процессе проверки кода, который требует больше работы, чем рассмотренный нами пример. Если рецензент обнаруживает проблему, разработчик может немедленно приступить к устранению ошибок, не дожидаясь, пока рецензент закончит проверку.

Рисунок 74. Ссылка Send Comments (Отправить комментарии)

  1. Щелкните раскрывающийся список Send & Finish(Отправить и завершить) и выберите опцию Looks Good (Все верно) для завершения проверки кода.

Рисунок 75. Завершение проверки кода

  1. My Work (Моя работа) щелкните раскрывающийся список Incoming & Outgoing (Входящие и исходящие) и выберите опцию Recently Finished(Недавно завершенные) для просмотра информации о проверке кода, которую только что закончил сотрудник Cameron.

Рисунок 76. Просмотр информации о недавно завершенных проверках

Рисунок 77. Информация о недавно завершенной проверке кода отправляется обратно сотруднику, который создал запрос

  1. Смените пользователя и снова войдите в систему с логином Julia.
  2. Вернитесь в окно Team Explorer — My Work (Командный обозреватель — Моя работа) и дважды щелкните заголовок элемента «Проверка кода», чтобы открыть его.

Рисунок 78. Проверка кода завершена

  1. В окне Team Explorer — Code Review(Командный обозреватель — Проверка кода) обратите внимание, что сотрудник Cameron закончил проверку и оставил комментарии.

Рисунок 79. Окно Code Review (Проверка кода) с обновленной информацией после проверки кода

  1. В рамках данного сценария будем считать, что проверка кода завершена. Щелкните ссылку Close Review(Закрыть проверку) и выберите вариант Complete(Завершено).

Рисунок 80. Закрыть проверку как завершенную

  1. Теперь, когда мы уверены, что критическая ошибка устранена, можно зарегистрировать изменения. Щелкните ссылку Check In(Зарегистрировать) для загрузки окна Pending Changes (Отложенные изменения), и нажмите кнопку Check In(Зарегистрировать) для завершения работы над заданием.

Рисунок 81. Регистрация изменений

Рисунок 82. Регистрация изменений

  1. Теперь можно вернуться к программе, над которой мы изначально работали до того, как нас попросили исправить ошибку. В окне My Work (Моя работа) щелкните правой кнопкой мыши задачу, размещенную в разделе Suspended & Shelved Work (Приостановленная и отложенная работа). Затем выберите опцию Resume (Возобновить) из контекстного меню.

Рисунок 83. Возобновление приостановленной работы

  1. После открытия набора отложенных изменений и восстановления контекста задачи вы заметите, что окна документов и инструментов были размещены в том виде, в каком они были на момент приостановки этой задачи. Если бы у вас было несколько мониторов, вы бы заметили, что Visual Studio 2012 также размещает все инструментальные окна на тех мониторах, где они были открыты на момент приостановки работы. Такая возможность позволяет вам быстро приостанавливать работу, решать более приоритетные задачи и затем возобновлять работу над основным проектом.

Рисунок 84. Среда разработки с возобновленным проектом

Упражнение 6. Слияние

В данном упражнении вы познакомитесь с инструментом слияния.

  1. Необходимо оставаться авторизованным с логином Julia, как в предыдущем упражнении.
  2. В окне Team Explorer — Pending Changes(Командный обозреватель — Отложенные изменения) вы увидите три позиции в разделе Included Changes(Включенные изменения). Двойным щелчком откройте файл Site.css.

Рисунок 85. Открываем файл Site.css

  1. Напомним, что мы ранее изменили цвет основного текста на красный. Теперь посмотрим, что произойдет, если другой пользователь внесет изменения в этот же файл, а затем зарегистрирует их.
  2. Смените пользователя и войдите в систему с логином Cameron. Для всех учетных записей используется пароль P2ssw0rd.
  3. Загрузите Visual Studio 2012 и откройте решение FabrikamFiber.CallCenter из ветви Dev в Source Control Explorer (Обозреватель управления исходным кодом).

Рисунок 86. Окно Source Control Explorer (Обозреватель управления исходным кодом)

  1. В Solution Explorer(Обозреватель решений) откройте файл Site.cssиз папки Content (Содержимое) проекта FabrikamFiber.Web (Веб-страница FabrikamFiber).

Рисунок 87. Местоположение папки Content (Содержимое) в проекте FabrikamFiber.Web (Веб-страница FabrikamFiber)

  1. Внесем другое изменение, отличающееся от сделанного сотрудником Julia. Измените свойство font-size(Размер шрифта) с .9em на .5em.

Рисунок 88. Вносим изменения в файл стилей

  1. Нажмите клавиши CTRL + SHIFT + S, чтобы сохранить все документы.
  2. В окне Team Explorer — Pending Changes(Командный обозреватель — Отложенные изменения) нажмите кнопку Check In(Зарегистрировать). Если система попросит вас подтвердить регистрацию, сделайте это.

Рисунок 89. Регистрация изменений в файле стилей

  1. Смените пользователя и снова войдите в систему с логином Julia.
  2. В Solution Explorer(Обозреватель решения) щелкните правой кнопкой мыши файл Site.cssи выберите пункт Get Latest Version(Получить последнюю версию) в контекстном меню.

Рисунок 90. Получение последней версии файла стилей

  1. Обратите внимание, что размер шрифта основного текста в файле Site.css был изменен в соответствии с выбором сотрудника Cameron. При этом сделанные нами текущие изменения (красный цвет текста) также присутствуют. Таким образом, приложения Team Foundation Server 11 и Visual Studio 2012 пытаются, по возможности, осуществлять автоматическое слияние изменений, не вовлекая пользователя в этот процесс. Это позволяет сэкономить время в сравнении с предыдущими версиями.

Рисунок 91. Файл стилей с автоматически объединенными изменениями

  1. Смените пользователя и войдите в систему с логином Cameron.
  2. Внесем изменения, инициирующие процесс слияния вручную. В файле Site.css измените свойство color (Цвет) для основного текста на black(Черный).

Рисунок 92. Внесение в файл стилей изменений, которые будут конфликтовать с изменениями, вносимыми другими пользователями

  1. Нажмите клавиши CTRL + SHIFT + Sдля сохранения всех документов.
  2. Выберите Check in(Зарегистрировать) в окне отложенных изменений.
  3. Смените пользователя и войдите в систему с логином Julia.
  4. Представим, что сотрудник Julia не знает о том, что сотрудник Cameron изменил цвет основного текста на черный. В окне Solution Explorer(Обозреватель решения) щелкните правой кнопкой мыши файл Site.css и выберите пункт Get Latest Version(Получить последнюю версию) в контекстном меню. После этого загрузится окно Resolve Conflicts(Устранить конфликты).

Рисунок 93. Окно Resolve Conflicts (Устранить конфликты)

  1. Нажмите кнопку Merge Changes In Merge Tool (Объединить изменения в инструменте слияния), чтобы вручную инициировать процесс слияния.

Рисунок 94. Местоположение кнопки для инициации процесса слияния

  1. Новый процесс слияния также использует интегрированный инструмент сравнения. По умолчанию в процессе слияния изменения отображаются в режиме параллельного сравнения. Обратите внимание, что в версии на сервере (слева) присутствует черный цвет, в локальной версии (справа) — красный цвет, а в результирующей версии (в центре) — первоначальный цвет.

Рисунок 95. Применение инструмента слияния для согласования изменений

  1. Продолжим работать с версией на сервере. Установите флажок справа от свойства color (Цвет) основного текста — black(Черный) [в левой панели].

Рисунок 96. Слияние изменений вручную

  1. На инструментальной панели Merge Toolbar (Панель слияния) нажмите кнопку Accept Merge (Принять слияние).

Рисунок 97. Принимаем выполненное вручную слияние

Свои отзывы и предложения вы можете отправить по электронной почте: VSKitFdbk@Microsoft.com

© 2012 г. Корпорация Microsoft. Все права защищены.