SlideShare a Scribd company logo
1 of 48
Download to read offline
Практическое занятие
Делаем работу разработчиков более
продуктивной с Team Foundation Server
2012
Версия практического занятия: 11.0.51106.01 Обновление 1
Последнее обновление: 28.11.2012 г.
СОДЕРЖАНИЕ
ОБЩИЕ СВЕДЕНИЯ...................................................................................................................................3
УПРАЖНЕНИЕ 1. ОБЗОР ИНСТРУМЕНТА TEAM EXPLORER..............................................................4
УПРАЖНЕНИЕ 2: ИНСТРУМЕНТ MY WORK ...........................................................................................9
УПРАЖНЕНИЕ 2: ЛОКАЛЬНЫЕ РАБОЧИЕ ПРОСТРАНСТВА...........................................................12
УПРАЖНЕНИЕ 4: ОЖИДАЮЩИЕ ИЗМЕНЕНИЯ...................................................................................20
УПРАЖНЕНИЕ 5. ПРИОСТАНОВКА И ВОЗОБНОВЛЕНИЕ, РЕЦЕНЗИРОВАНИЕ КОДА................23
УПРАЖНЕНИЕ 6: СЛИЯНИЕ ...................................................................................................................43
Общие сведения
Это практическое занятие посвящено одному из сценариев типа «подгонка и доводка» в Team
Foundation Server 2012, который позволит разработчикам повысить производительность труда при
написании кода и сотрудничестве с другими членами рабочей группы. Вы узнаете о новых встроенных
средствах анализа кода, новом инструменте My Work для управления активными задачами. Как только
вы попадаете в «зону» Visual Studio, система помогает сосредоточиться на поставленной задаче,
независимо от того, сколько параллельных задач вам приходится решать. Это стало возможным
благодаря новой модели «приостановка и возобновление». Вы также научитесь беспрепятственно
работать в автономном режиме, пользоваться функциями слияния и легко находить рабочие
элементы.
Необходимые условия
Для этого практического занятия вам понадобится виртуальная машина Visual Studio 2012,
предоставляемая компанией 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 2012 с помощью ярлыка на панели задач или через меню Start | All
Programs | Microsoft Visual Studio 2012.
Рисунок 1
Запуск Visual Studio 2012
3. Откройте окно Team Explorer через меню View | Team Explorer, если оно еще не было
выведено на экран. Обратите внимание на сходство появившихся здесь узлов высокого уровня
с узлами, использовавшимися в предыдущих версиях Team Explorer. Заметное изменение —
новый пункт меню Pending Changes.
Рисунок 2
Team Explorer — домашняя страница
Примечание. Изменения, направленные на повышение производительности, коснулись
многих компонентов Visual Studio 2012. Там где это возможно, большое количество задач
выполняется асинхронно и по требованию. Одним из примеров является инструмент Team
Explorer, который загружается практически мгновенно. Когда вы переходите на
определенный узел Team Explorer, контент будет получен с сервера по требованию.
4. Навигация в Team Explorer аналогична навигации в обычных веб-приложениях. Вы переходите
по ссылкам с домашней страницы и можете перемещаться вперед и назад, а также
возвращаться на домашнюю страницу. Мы познакомимся с навигацией более подробно в
следующем упражнении, при изучении различных узлов и страниц в Team Explorer.
Рисунок 3
Элементы навигации в Team Explorer
5. Щелкните ссылку Work Items на домашней странице Team Explorer.
Рисунок 4
Ссылка Work Items
6. Представление Work Items отображает запросы, добавленные в избранное для вошедшего в
систему пользователя и рабочей группы, а также позволяет добавлять новые запросы и
рабочие элементы.
Рисунок 5
Представление Work Items отображает все запросы
7. Нажмите стрелку Назад для возврата на домашнюю страницу.
Рисунок 6
Расположение стрелки Назад
8. Щелкните ссылку Source Control Explorer.
Рисунок 7
Ссылка Source Control Explorer
Рисунок 8
Окно Source Control Explorer
9. Щелкните ссылку Settings для просмотра параметров проекта рабочей группы и коллекции
проектов рабочей группы.
Рисунок 9
Ссылка Settings
Рисунок 10
Настройки Team Explorer
10. Нажмите стрелку Назад еще раз для возврата на домашнюю страницу.
11. Щелкните ссылку Builds для перехода к инструментам управления определениями построений
и просмотра истории сборки.
Рисунок 11
Ссылка Builds
Рисунок 12
Окно Builds, отображающее определения построений и предыдущие сборки
12. В следующих упражнениях мы познакомимся с новым инструментом My Work.
Упражнение 2: Инструмент My Work
В этом упражнении мы познакомимся с новым инструментом My Work, с помощью которого вы будете
управлять своими активными задачами.
1. В окне Team Explorer выберите узел My Work.
Рисунок 13
Ссылка My Work
2. Узел My Work отображает активные рабочие элементы, доступные рабочие элементы, а также
приостановленные и отложенные работы для текущего пользователя. Этот новый рабочий
процесс использует модель разработки на основе задач, обеспечивая согласованность усилий
всех членов рабочей группы.
Рисунок 14
Окно My Work, отображающее все доступные и текущие задачи
3. Щелкните гиперссылку Open Query в разделе Available Work Items.
Рисунок 15
Ссылка Open Query
4. Нажмите кнопку Edit Query.
Рисунок 16
Просмотр принятого по умолчанию определения запроса в окне Available Work Items
5. Как видно из определения запроса, рабочие элементы включаются в набор Available Work
Items, если значение в поле Work Item Type относится к группе Microsoft.TaskCategory.
Рисунок 17
Предложения запроса Available Work Items
Примечание. Предлагаемые рабочие элементы и их соответствие концепции My Work
зависят от шаблона процесса. В шаблоне процесса Scrum сюда включаются задачи по
умолчанию.
6. Давайте займемся одним из доступных рабочих элементов. На странице My Work щелкните
правой кнопкой мыши элемент, название которого начинается с фразы Review new feature… и
выберите пункт Add to In Progress в контекстном меню. Таким образом мы информируем нашу
рабочую группу о текущем состоянии рабочего элемента.
Рисунок 18
Щелкните правой кнопкой мыши рабочие элементы, чтобы переместить их между
состояниями
Рисунок 19
Результирующий вид окна My Work после переноса работы из списка Available в список In
Progress
Упражнение 2: Локальные рабочие
пространства
Данное упражнение познакомит вас с локальными рабочими пространствами и теми
преимуществами, которые они обеспечивают с точки зрения автономной разработки.
1. Запустите решение FabrikamFiber.CallCenter из ветви Dev в окне Source Control Explorer.
Рисунок 20
Окно Source Control Explorer
2. До появления Team Foundation Server 2012, операции управления исходным кодом
выполнялись исключительно на сервере. Поэтому работать в автономном режиме часто было
очень утомительно. С целью оптимизации работы малых рабочих групп над небольшими
проектами был разработан инструмент Local Workspaces. Этот инструмент обеспечивает более
клиентоориентированный рабочий процесс, схожий с процессом управления версиями по
принципу Modify-Merge-Commit.
3. По-прежнему поддерживаются рабочие пространства на основе сервера, которые
целесообразнее использовать в рамках крупных проектов. Загрузите окно Manage Workspaces,
набрав workspaces в поле поиска Quick Launch, расположенном в правом верхнем углу окна
Visual Studio. Результаты поиска загрузятся через одну–две секунды.
Рисунок 21
Расположение панели Quick Launch
Примечание. Поле поиска Quick Launch впервые появилось в Visual Studio 2012. Оно
позволяет сэкономить время, поскольку вам не придется искать различные инструменты и
команды в меню. Используйте комбинацию клавиш Ctrl + Q для перехода в поле поиска без
использования мыши.
4. Выберите ссылку Workspaces…
Рисунок 22
Выбор ссылки Workspaces
5. В окне Manage Workspaces нажмите кнопку Add… для создания нового рабочего пространства.
Рисунок 23
Расположение кнопки Add для создания нового рабочего пространства
6. В окне Add Workspace нажмите кнопку Advanced, чтобы увидеть все доступные опции.
Рисунок 24
Расположение кнопки Advanced, предназначенной для отображения расширенных свойств
рабочего пространства
7. Найдите свойство Location для рабочего пространства. По умолчанию новые рабочие
пространства будут локальными. Вы также можете создать рабочее пространство на основе
сервера, если это необходимо.
_
Рисунок 25
Выбор между локальным и серверным рабочим пространством
8. Закройте окна инструмента управления рабочими пространствами, дважды нажав клавишу
ESCAPE на клавиатуре.
9. В окне Solution Explorer разверните проект FabrikamFiber.Web. Затем разверните папку
Content.
Рисунок 26
Переход к папке Content проекта FabrikamFiber.Web
10. Однократно щелкните файл fullcalendar.css для просмотра его содержимого. Обратите
внимание, файл загружается в редакторе исходного кода CSS Source Editor, но вкладка для
него отображается справа. Новый тип вкладки называется предварительный просмотр. Когда
вы используете клавиши со стрелками для перехода от одного файла к другому или
открываете их однократным щелчком мыши, на вкладке предварительного просмотра будет
отображаться последний выбранный элемент. Вкладки предварительного просмотра
позволяют избежать переполнения рабочего пространства Visual Studio вкладками для файлов,
которые были нужны вам всего лишь временно.
Рисунок 27
Вкладка Предварительный просмотр
Примечание. На вкладке предварительного просмотра имеется кнопка, позволяющая
превратить ее в обычную вкладку. Обратите внимание на стрелку на снимке экрана вверху.
11. Внесите произвольные изменения в файл fullcalendar.css, изменив одно из свойств стиля.
Visual Studio укажет, что файл был изъят из хранилища. Однако имейте в виду, что это
актуально только в локальном рабочем пространстве. Другие члены рабочей группы не
узнают, что вы работаете с данным файлом.
_
Рисунок 28
Отметка рядом с файлом показывает, что вы внесли в него изменения локально
12. Два главных преимущества локальных рабочих пространств: сценарий автономной работы
значительно оптимизирован, и стало намного проще использовать внешние инструменты для
работы с файлами в системе управления исходным кодом. Чтобы продемонстрировать оба эти
преимущества в действии, продолжим работу и остановим сервер Team Foundation Server в
службах IIS. Это позволит смоделировать ситуацию, когда вы работаете в автономном режиме,
например пишете программу, находясь на пляже. В реальной жизни вы никогда не будете
писать код на пляже, а будете наслаждаться отдыхом.
13. Запустите приложение Internet Information Services (IIS) Manager из меню Start | All Programs |
Administrative Tools.
_
Рисунок 29
Расположение ярлыка для IIS Manager
14. В окне IIS Manager разверните узел сервера VSALM и узел Sites для поиска и выбора сайта
Team Foundation Server.
15. На панели Actions нажмите кнопку Stop.
Рисунок 30
Остановка сервера Team Foundation Server
16. Вернитесь в Visual Studio, загрузите окно Source Control Explorer и нажмите кнопку Refresh.
Обратите внимание, что окно перешло в состояние Disconnected.
Рисунок 31
Source Control Explorer в отключенном состоянии
17. Несмотря на то, что мы отключились от Team Foundation Server, можно продолжать работу.
Щелкните правой кнопкой мыши папку Content в Solution Explorer и выберите пункт меню
Open Folder in Windows Explorer.
Рисунок 32
Расположение пункта меню, предназначенного для открытия папки в Explorer
18. Добавьте новый файл в папку Content, щелкнув правой кнопкой мыши пустую область этого
представления и выбрав New | Text Document из контекстного меню.
Примечание. Этот файл понадобится нам в дальнейшем. Его содержимое не имеет значения.
Рисунок 33
Создание нового текстового документа
19. В окне Explorer щелкните правой кнопкой мыши файл Site.css и выберите Open With |
Notepad из контекстного меню.
Рисунок 34
Открытие отмеченного файла в Notepad
20. В Notepad измените цвет для стиля body на red.
Рисунок 35
Редактирование файла в Notepad и сохранение изменений
21. В Notepad выберите cохранение и закрытие для файла 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 в предыдущем упражнении.
2. В окне Pending Changes мы видим, что два изменения, которые были внесены в существующие
файлы в предыдущем упражнении, автоматически отображаются в разделе Included Changes.
Рисунок 38
Окно Pending Changes, в котором показаны включенные в этот список изменения
3. В разделе Excluded Changes обнаружены изменения, которые не были автоматически
включены в список отложенных. Щелкните ссылку Detected changes (1).
Рисунок 39
Некоторые изменения были обнаружены, но не были автоматически активированы
4. В окне Promote Candidate Changes вы можете увидеть дополнения к новому текстовому
документу. Нажмите кнопку Promote для добавления этой позиции к группе изменений,
которые вы хотите включить в следующий цикл регистрации.
Рисунок 40
Активируем изменения вручную
5. Теперь вы увидите три внесенных изменения.
Рисунок 41
Обновленное представление, отображающее все изменения, включенные как ожидающие
6. Мы можем продолжать работу над нашим проектом в автономном режиме. Однако обратите
внимание, что мы не можем провести регистрацию, поскольку кнопка Check-In не активна.
Рисунок 42
Зарегистрировать изменения в неподключенном режиме нельзя
7. В окне приложения Internet Information Services (IIS) Manager выберите сайт Team Foundation
Server и нажмите кнопку Start на панели Actions.
Рисунок 43
Запуск сервера Team Foundation Server
8. Вернитесь в 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 отображаются все работы, независимо от их статуса
3. В рамках этого сценария представьте себе следующее: мы также открыли окна других средств
отладки и определили точки останова, чтобы убедиться в отсутствие ошибок в алгоритмах, над
которыми работаем. Откройте файл HomeController.cs в меню FabrikamFiber.Web | Controllers
и добавьте точку останова для первой строки конструктора HomeController.
Рисунок 46
Создание точки останова
4. Откройте окно Immediate в меню Debug | Windows | Immediate.
5. Теперь представьте, что ваш начальник просит вас прекратить работу над текущей задачей и
немедленно устранить критическую ошибку. Нам потребовалось достаточно много времени
для компоновки инструментов отладки в Visual Studio, и мы хотели бы иметь возможность
вернуться к текущей ситуации после того, как исправим другую ошибку.
6. Нажмите клавиши CTRL + SHIFT + S для сохранения всех открытых файлов.
7. В Team Explorer перейдите к экрану My Work, щелкните ссылку Suspend & Shelve и нажмите
кнопку Suspend. Мы могли бы изменить описание, но так как в настоящее время занимаемся
этим рабочим элементом, то соответствующее поле было заполнено автоматически.
Рисунок 47
Приостановка работы
8. Удалите все точки останова, нажав клавиши CTRL + SHIFT + F9. Нажмите кнопку Yes для
подтверждения действия.
Рисунок 48
Удаление всех точек останова
9. Закройте все окна документа, выбрав Window | Close All Documents в главном меню.
10. Вернитесь к исходной компоновке окна, выбрав Window | Reset Window Layout в главном
меню.
Рисунок 49
Возврат к исходному виду окна
11. На данном этапе вы получили чистое рабочее пространство, а предыдущие задачи, над
которыми вы работали, должны отображаться в разделе Suspended Work в окне My Work.
Рисунок 50
Раздел окна My Work, отображающий приостановленные задачи
12. Обратите внимание на поле поиска рабочих элементов в верхней части окна Team Explorer.
Этот инструмент позволяет выполнить поиск всех рабочих элементов в выбранном проекте
рабочей группы. Введите слово Canadian в поле поиска и нажмите клавишу Enter, чтобы найти
критическую ошибку, которую вас попросили исправить.
Рисунок 51
Поиск рабочих элементов
Примечание. Быстрый поиск проекта команды для введенных ключевых слов по умолчанию
осуществляется по названию, описанию и полю «Шаги по воспроизведению». Вы также
можете щелкнуть стрелку раскрывающегося списка для отображения истории поиска и
добавления параметров поиска для метаданных, таких как тип рабочего элемента или
сотрудник, которому присвоен рабочий элемент.
13. Дважды щелкните сообщение об ошибке, озаглавленной Customers with Canadian addresses
not displaying properly.
Рисунок 52
Расположение критической ошибки, которую необходимо исправить
14. В окне, отображающем информацию об ошибке, щелкните ссылку Tasks для отображения
связанных с этой ошибкой рабочих элементов. Обратите внимание, в списке присутствуют две
дочерние задачи.
Рисунок 53
Просмотр существующих дочерних задач
15. Представьте себе, что другие члены рабочей группы уже занимаются этими дочерними
задачами. Но нам известно о другой проблеме, связанной с родительской ошибкой, которая
также должна быть устранена. Нажмите кнопку New в разделе Tasks для создания новой
дочерней задачи.
Рисунок 54
Создание новой дочерней задачи
16. Для вновь подключенного рабочего элемента выберите Link Type — Child, Work Item Type—
Task. Введите Title— Fix RegEx for Zip code property, затем нажмите кнопку OK.
Рисунок 55
Создание новой дочерней задачи
17. Назначьте сотрудника Julia ответственной за выполнение этой задачи и нажмите кнопку Save
Work Item.
Рисунок 56
Назначение сотрудника Julia ответственной за выполнение работы
18. Вернитесь в окно Team Explorer — My Work. В разделе Available Work Items должна появиться
новая задача.
Рисунок 57
Расположение новой задачи в разделе My Work
19. Щелкните правой кнопкой мыши новую задачу под названием Fix RegEx for Zip code property
и выберите пункт Add to In Progress из контекстного меню.
Рисунок 58
Перемещение новой задачи в группу In Progress
20. В окне Solution Explorer откройте файл Address.cs в папке Models проекта FabrikamFiber.DAL.
Свойство Address.Zip в настоящее время использует неправильное регулярное выражение для
аннотирования данных. В результате пользователи веб-приложения могут ввести неверный
почтовый индекс для канадских адресов.
Рисунок 59
Исходный код с ошибкой
21. Предположим, что правильным решением будет обновление регулярного выражения.
Закомментируйте текущее регулярное выражение, а затем раскомментируйте другое
выражение.
Рисунок 60
Исходный код с исправленной ошибкой
22. Нажмите клавиши CTRL + S для сохранения изменений в файле.
23. Теперь, когда ошибка исправлена, давайте попросим сотрудника Cameron выполнить
проверку изменений в коде, чтобы убедиться, что всё выглядит правильно. В окне Team
Explorer — My Work щелкните ссылку Request Review.
Рисунок 61
Расположение ссылки Request Review
24. Введите Cameron Skinner в качестве имени рецензента и нажмите клавишу Enter. Введите
описание Please check my regular expression change и нажмите кнопку Submit Request.
Рисунок 62
Оформление запроса на проверку кода
25. Войдите в систему с логином Cameron, чтобы выполнить проверку кода. Пароль для всех
учетных записей в данной виртуальной машине P2ssw0rd.
26. Загрузите Visual Studio 2012, откройте Team Explorer и перейдите к My Work. Новый запрос на
проверку кода отображается в разделе Code Reviews внизу. Выберите Incoming Requests.
Рисунок 63
Раздел Code Reviews окна My Work
27. Дважды щелкните запрос на проверку кода, чтобы открыть окно Code Review. Это
представление позволяет сотруднику Cameron увидеть всю доступную информацию о запросе
и определить, стоит ли принять или отклонить задачу. Он может просмотреть весь набор
отложенных изменений и список других рецензентов, а также добавить кого-либо в список
рецензентов, просмотреть соответствующие рабочие элементы, комментарии, связанные с
запросом на проверку кода и, наконец, может отследить все изменения в файлах одним
щелчком мыши.
Рисунок 64
Окно Code Review
28. В окне Code Review нажмите кнопку Accept, чтобы приступить к проверке.
Рисунок 65
Расположение кнопки Accept
29. Выберите файл Address.cs из раздела «Комментарии», чтобы открыть его с помощью нового
встроенного инструмента сравнения.
Рисунок 66
Расположение файла с исправленной ошибкой
30. По умолчанию мы просматриваем изменения в режиме параллельного сравнения. Красный
цвет фона принят для изменений в старой версии, а зеленый — в новой (справа). В режиме
сравнения в нижней части окна отображаются условные обозначения.
Рисунок 67
Встроенный инструмент сравнения позволяет увидеть отличия между старой и новой
версиями кода
Примечание. Новый инструмент сравнения Visual Studio 2012 полностью интегрирован в
редактор. Он также используется в процессе слияния, с которым мы познакомимся далее.
31. В панели инструментов Compare Files нажмите кнопку раскрывающегося меню compare mode.
Вы увидите различные режимы отображения, которые инструмент сравнения может
использовать. Попробуйте использовать несколько различных режимов.
Примечание. Если панель инструментов Compare Files не была открыта, откройте ее через
главное меню Visual Studio View | Toolbars | Compare Files.
Рисунок 68
Расположение кнопки выбора режима сравнения
32. Допустим, мы согласны с тем, что изменения верны. Продолжим работу, добавив
комментарий рецензента по этому поводу. Щелкните ссылку Reply под сообщением
сотрудника Julia.
Рисунок 69
Расположение ссылки Reply, которая позволяет оставлять комментарии
33. В качестве комментария введите that looks good и нажмите кнопку Save.
Рисунок 70
Вводим ответ на комментарий
34. Обратите внимание, рядом с новым комментарием присутствует надпись Unsent.
Комментарий не будет отправлен, пока сотрудник Cameron не закончит проверку.
Рисунок 71
Комментарий не отправляется автоматически
35. Вы также можете оставить комментарии для отдельных файлов и блоков кода. В инструменте
сравнения воспользуйтесь мышью, чтобы выделить название свойства Zip, щелкните правой
кнопкой и выберите пункт Add Comment в контекстном меню.
Рисунок 72
Добавление комментария для кода
36. В поле для комментариев введите Consider renaming PostalCode и щелкните ссылку Save.
Рисунок 73
Добавление заметки для кода
37. Щелкните ссылку Send Comments в верхней части окна Code Review (Проверка кода) для
отправки подготовленных комментариев. Возможность немедленной отправки комментариев
может быть полезна в процессе проверки кода, который требует больше работы, чем
рассмотренный нами пример. Если рецензент обнаруживает проблему, разработчик может
немедленно приступить к устранению ошибок, не дожидаясь, пока рецензент закончит
проверку.
Рисунок 74
Ссылка Send Comments
38. Щелкните раскрывающийся список Send & Finish и выберите опцию Looks Good для
завершения проверки кода.
Рисунок 75
Завершение проверки кода
39. В разделе Code Reviews & Requests окна My Work щелкните раскрывающийся список Incoming
& Outgoing и выберите опцию Recently Finished для просмотра информации о проверке кода,
которую только что закончил сотрудник Cameron.
Рисунок 76
Просмотр информации о недавно завершенных проверках
Рисунок 77
Информация о недавно завершенной проверке кода отправляется обратно сотруднику,
который создал запрос
40. Смените пользователя и снова войдите в систему с логином Julia.
41. Вернитесь в окно Team Explorer — My Work и дважды щелкните заголовок элемента Code
Review, чтобы открыть его.
Рисунок 78
Проверка кода завершена
42. В окне Team Explorer — Code Review проверьте, что сотрудник Cameron закончил проверку и
оставил комментарии.
Рисунок 79
Окно Code Review с обновленной информацией после проверки кода
43. В рамках данного сценария будем считать, что проверка кода завершена. Щелкните ссылку
Close Review и выберите вариант Complete.
Рисунок 80
Закрыть проверку как завершенную
44. Теперь, когда мы уверены, что критическая ошибка устранена, можно зарегистрировать
изменения. Щелкните ссылку Check In для загрузки окна Pending Changes, и нажмите кнопку
Check In для завершения работы над заданием.
Рисунок 81
Регистрация изменений
Рисунок 82
Регистрация изменений
45. Теперь можно вернуться к программе, над которой мы изначально работали до того, как нас
попросили исправить ошибку. В окне My Work щелкните правой кнопкой мыши задачу,
размещенную в разделе Suspended & Shelved Work. Затем выберите опцию Resume из
контекстного меню.
Рисунок 83
Возобновление приостановленной работы
46. После открытия набора отложенных изменений и восстановления контекста задачи вы
заметите, что окна документов и инструментов были размещены в том виде, в каком они были
на момент приостановки этой задачи. Если бы у вас было несколько мониторов, вы бы
заметили, что Visual Studio 2012 также размещает все инструментальные окна на тех
мониторах, где они были открыты на момент приостановки работы. Такая возможность
позволяет вам быстро приостанавливать работу, решать более приоритетные задачи и затем
возобновлять работу над основным проектом.
Рисунок 84
Среда разработки с возобновленным проектом
Упражнение 6: Слияние
В данном упражнении вы познакомитесь с инструментом слияния.
1. Необходимо оставаться авторизованным с логином Julia, как в предыдущем упражнении.
2. В окне Team Explorer — Pending Changes вы увидите три позиции в разделе Included Changes.
Двойным щелчком откройте файл Site.css.
Рисунок 85
Открываем файл Site.css
3. Напомним, что мы ранее изменили цвет основного текста на красный. Теперь посмотрим, что
произойдет, если другой пользователь внесет изменения в этот же файл, а затем
зарегистрирует их.
4. Смените пользователя и войдите в систему с логином Cameron. Для всех учетных записей
используется пароль P2ssw0rd.
5. Загрузите Visual Studio 2012 и откройте решение FabrikamFiber.CallCenter из ветви Dev в Source
Control Explorer.
Рисунок 86
Окно Source Control Explorer
6. В Solution Explorer откройте файл Site.css из папки Content проекта FabrikamFiber.Web.
Рисунок 87
Расположение папки Content в проекте FabrikamFiber.Web
7. Внесем другое изменение, отличающееся от сделанного сотрудником Julia. Измените свойство
font-size с .9em на .5em.
Рисунок 88
Вносим изменения в файл стилей
8. Нажмите клавиши CTRL + SHIFT + S, чтобы сохранить все документы.
9. В окне Team Explorer — Pending Changes нажмите кнопку Check In. Если система попросит вас
подтвердить регистрацию, сделайте это.
Рисунок 89
Регистрация изменений в файле стилей
10. Смените пользователя и снова войдите в систему с логином Julia.
11. В Solution Explorer щелкните правой кнопкой мыши файл Site.css и выберите пункт Get Latest
Version в контекстном меню.
Рисунок 90
Получение последней версии файла стилей
12. Обратите внимание, что размер шрифта основного текста в файле Site.css был изменен в
соответствии с выбором сотрудника Cameron. При этом сделанные нами текущие изменения
(красный цвет текста) также присутствуют. Таким образом, приложения Team Foundation Server
2012 и Visual Studio 2012 пытаются, по возможности, осуществлять автоматическое слияние
изменений, не вовлекая пользователя в этот процесс. Это позволяет сэкономить время в
сравнении с предыдущими версиями.
Рисунок 91
Файл стилей с автоматически объединенными изменениями
13. Смените пользователя и войдите в систему с логином Cameron.
14. Внесем изменения, инициирующие процесс слияния вручную. В файле Site.css измените
свойство color для основного текста на black.
Рисунок 92
Внесение в файл стилей изменений, которые будут конфликтовать с изменениями,
вносимыми другими пользователями
15. Нажмите клавиши CTRL + SHIFT + S для сохранения всех документов.
16. Выберите Check in в окне отложенных изменений.
17. Смените пользователя и войдите в систему с логином Julia.
18. Представим, что сотрудник Julia не знает о том, что сотрудник Cameron изменил цвет
основного текста на черный. В окне Solution Explorer щелкните правой кнопкой мыши файл
Site.css и выберите пункт Get Latest Version в контекстном меню. После этого загрузится окно
Resolve Conflicts.
Рисунок 93
Окно Resolve Conflicts
19. Нажмите кнопку Merge Changes In Merge Tool, чтобы вручную инициировать процесс слияния.
Если появится запрос сохранить и закрыть Site.css, нажмите Yes для продолжения.
Рисунок 94
Расположение кнопки для инициирования процесса слияния
20. Новый процесс слияния также использует интегрированный инструмент сравнения. По
умолчанию в процессе слияния изменения отображаются в режиме параллельного сравнения.
Обратите внимание, что в версии на сервере (слева) присутствует черный цвет, в локальной
версии (справа) — красный цвет, а в результирующей версии (в центре) — первоначальный
цвет.
Рисунок 95
Применение инструмента слияния для согласования изменений
21. Продолжим работать с версией на сервере. Установите флажок справа от свойства color
основного текста — black (в левой панели).
Рисунок 96
Слияние изменений вручную
22. На инструментальной панели Merge Toolbar нажмите кнопку Accept Merge.
Рисунок 97
Принимаем выполненное вручную слияние
Свои отзывы и предложения вы можете отправить по электронной
почте: VSKitFdbk@Microsoft.com
© 2013 г. Корпорация Microsoft. Все права защищены.

More Related Content

What's hot

Визулизация ветвления и объединения в Visual Studio Team Foundation Server 2012
Визулизация ветвления и объединения в Visual Studio Team Foundation Server 2012Визулизация ветвления и объединения в Visual Studio Team Foundation Server 2012
Визулизация ветвления и объединения в Visual Studio Team Foundation Server 2012Александр Шамрай
 
Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...
Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...
Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...Dakiry
 
Изменения в инфраструктуре инструментов для программистов
Изменения в инфраструктуре инструментов для программистовИзменения в инфраструктуре инструментов для программистов
Изменения в инфраструктуре инструментов для программистовTatyanazaxarova
 
Среда разработки Eclipse by Cheburek
Среда разработки Eclipse by CheburekСреда разработки Eclipse by Cheburek
Среда разработки Eclipse by CheburekYa_Cheburek
 
C# Web. Занятие 11.
C# Web. Занятие 11.C# Web. Занятие 11.
C# Web. Занятие 11.Igor Shkulipa
 
Mva stf module 6 - rus
Mva stf module 6 - rusMva stf module 6 - rus
Mva stf module 6 - rusMaxim Shaptala
 
Практическое руководство - использование SVN
Практическое руководство - использование SVNПрактическое руководство - использование SVN
Практическое руководство - использование SVNАлександр Шамрай
 
613.программирование в visual с++ с использованием библиотеки mfc учебное по...
613.программирование в visual с++ с использованием библиотеки mfc  учебное по...613.программирование в visual с++ с использованием библиотеки mfc  учебное по...
613.программирование в visual с++ с использованием библиотеки mfc учебное по...efwd2ws2qws2qsdw
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rusMaxim Shaptala
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with SeleniumSergey Shvets
 
Dependency Injection на примере Unity и NInject
Dependency Injection на примере Unity и NInjectDependency Injection на примере Unity и NInject
Dependency Injection на примере Unity и NInjectakrakovetsky
 

What's hot (12)

Визулизация ветвления и объединения в Visual Studio Team Foundation Server 2012
Визулизация ветвления и объединения в Visual Studio Team Foundation Server 2012Визулизация ветвления и объединения в Visual Studio Team Foundation Server 2012
Визулизация ветвления и объединения в Visual Studio Team Foundation Server 2012
 
Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...
Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...
Олексій Стульніков “WinAppDriver – автоматизація Desktop ніколи не була такою...
 
Изменения в инфраструктуре инструментов для программистов
Изменения в инфраструктуре инструментов для программистовИзменения в инфраструктуре инструментов для программистов
Изменения в инфраструктуре инструментов для программистов
 
Среда разработки Eclipse by Cheburek
Среда разработки Eclipse by CheburekСреда разработки Eclipse by Cheburek
Среда разработки Eclipse by Cheburek
 
C# Web. Занятие 11.
C# Web. Занятие 11.C# Web. Занятие 11.
C# Web. Занятие 11.
 
Mva stf module 6 - rus
Mva stf module 6 - rusMva stf module 6 - rus
Mva stf module 6 - rus
 
Практическое руководство - использование SVN
Практическое руководство - использование SVNПрактическое руководство - использование SVN
Практическое руководство - использование SVN
 
Mantis
MantisMantis
Mantis
 
613.программирование в visual с++ с использованием библиотеки mfc учебное по...
613.программирование в visual с++ с использованием библиотеки mfc  учебное по...613.программирование в visual с++ с использованием библиотеки mfc  учебное по...
613.программирование в visual с++ с использованием библиотеки mfc учебное по...
 
Mva stf module 2 - rus
Mva stf module 2 - rusMva stf module 2 - rus
Mva stf module 2 - rus
 
Testing RIA with Selenium
Testing RIA with SeleniumTesting RIA with Selenium
Testing RIA with Selenium
 
Dependency Injection на примере Unity и NInject
Dependency Injection на примере Unity и NInjectDependency Injection на примере Unity и NInject
Dependency Injection на примере Unity и NInject
 

Viewers also liked

Управление качеством проекта разработки ПО в TFS 2010
Управление качеством проекта разработки ПО в TFS 2010Управление качеством проекта разработки ПО в TFS 2010
Управление качеством проекта разработки ПО в TFS 2010Александр Шамрай
 
Windows communication foundation 4
Windows communication foundation 4Windows communication foundation 4
Windows communication foundation 4GetDev.NET
 
Microsoft Team System 2010 для управления ЖЦ разработки и сопровождения ПО
Microsoft Team System 2010 для управления ЖЦ разработки и сопровождения ПОMicrosoft Team System 2010 для управления ЖЦ разработки и сопровождения ПО
Microsoft Team System 2010 для управления ЖЦ разработки и сопровождения ПОАлександр Шамрай
 
TFS Version Control (www.cmcons.com)
TFS Version Control (www.cmcons.com)TFS Version Control (www.cmcons.com)
TFS Version Control (www.cmcons.com)Alexander Novichkov
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыMikhail Payson
 
Организация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFSОрганизация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFSАлександр Шамрай
 
Организация workflow в трекере TFS | Алексей Соловьев
Организация workflow в трекере TFS | Алексей СоловьевОрганизация workflow в трекере TFS | Алексей Соловьев
Организация workflow в трекере TFS | Алексей СоловьевPositive Hack Days
 

Viewers also liked (8)

Управление качеством проекта разработки ПО в TFS 2010
Управление качеством проекта разработки ПО в TFS 2010Управление качеством проекта разработки ПО в TFS 2010
Управление качеством проекта разработки ПО в TFS 2010
 
Tfs reports customization
Tfs reports customizationTfs reports customization
Tfs reports customization
 
Windows communication foundation 4
Windows communication foundation 4Windows communication foundation 4
Windows communication foundation 4
 
Microsoft Team System 2010 для управления ЖЦ разработки и сопровождения ПО
Microsoft Team System 2010 для управления ЖЦ разработки и сопровождения ПОMicrosoft Team System 2010 для управления ЖЦ разработки и сопровождения ПО
Microsoft Team System 2010 для управления ЖЦ разработки и сопровождения ПО
 
TFS Version Control (www.cmcons.com)
TFS Version Control (www.cmcons.com)TFS Version Control (www.cmcons.com)
TFS Version Control (www.cmcons.com)
 
Промышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. ИнструментыПромышленная разработка ПО. Лекция 2. Инструменты
Промышленная разработка ПО. Лекция 2. Инструменты
 
Организация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFSОрганизация работы с требованиями и документацией в TFS
Организация работы с требованиями и документацией в TFS
 
Организация workflow в трекере TFS | Алексей Соловьев
Организация workflow в трекере TFS | Алексей СоловьевОрганизация workflow в трекере TFS | Алексей Соловьев
Организация workflow в трекере TFS | Алексей Соловьев
 

Similar to Делаем работу разработчиков более продуктивной с Team Foundation Server 2012

«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...MDDay_4
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileAlexey Krivitsky
 
Развитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайныРазвитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайныtfmailru
 
Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)Dmitry Melikov
 
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...Microsoft
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rusMaxim Shaptala
 
Создаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровожденияСоздаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровожденияOvadiah Myrgorod
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rusMaxim Shaptala
 
работа в Redmine
работа в Redmineработа в Redmine
работа в RedmineIvan Kutanin
 
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистов
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистовCodeFest 2010. Погребняк А. — Проблемы оценки труда программистов
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистовCodeFest
 
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...Yury Vetrov
 
Google I/O 2016 для разработчиков
Google I/O 2016 для разработчиковGoogle I/O 2016 для разработчиков
Google I/O 2016 для разработчиковWOX APP
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...solit
 
эволюция методологий управления (водопад, Rup, Agile) башакин
эволюция методологий управления (водопад, Rup, Agile)   башакинэволюция методологий управления (водопад, Rup, Agile)   башакин
эволюция методологий управления (водопад, Rup, Agile) башакинWRider
 
Mva stf module 5 - rus
Mva stf module 5 - rusMva stf module 5 - rus
Mva stf module 5 - rusMaxim Shaptala
 
Аудит Active directory. Обзор программы NetWrix Active Directory Change Reporter
Аудит Active directory. Обзор программы NetWrix Active Directory Change ReporterАудит Active directory. Обзор программы NetWrix Active Directory Change Reporter
Аудит Active directory. Обзор программы NetWrix Active Directory Change ReporterNetwrix Россия/СНГ
 
TestLink
TestLinkTestLink
TestLinkISsoft
 
Вадим Зубович - Test Link
Вадим Зубович - Test LinkВадим Зубович - Test Link
Вадим Зубович - Test LinkQA Club Minsk
 

Similar to Делаем работу разработчиков более продуктивной с Team Foundation Server 2012 (20)

«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...«трудности при разработке сложных распределённых систем на Java. способы реше...
«трудности при разработке сложных распределённых систем на Java. способы реше...
 
Как сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с AgileКак сделать наши проекты немного более управляемыми с Agile
Как сделать наши проекты немного более управляемыми с Agile
 
Развитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайныРазвитие интерфейса через гайдлайны
Развитие интерфейса через гайдлайны
 
Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)Вебинар Microsoft ALM (11.12.2012)
Вебинар Microsoft ALM (11.12.2012)
 
Appery.io Ukraine_2016
Appery.io Ukraine_2016Appery.io Ukraine_2016
Appery.io Ukraine_2016
 
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
Visual Studio Connect() Russia Инструменты управления жизненным циклом Micros...
 
Mva stf module 3 - rus
Mva stf module 3 - rusMva stf module 3 - rus
Mva stf module 3 - rus
 
Создаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровожденияСоздаем Drupal дистрибутив: от идеи до сопровождения
Создаем Drupal дистрибутив: от идеи до сопровождения
 
Mva stf module 1 - rus
Mva stf module 1 - rusMva stf module 1 - rus
Mva stf module 1 - rus
 
работа в Redmine
работа в Redmineработа в Redmine
работа в Redmine
 
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистов
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистовCodeFest 2010. Погребняк А. — Проблемы оценки труда программистов
CodeFest 2010. Погребняк А. — Проблемы оценки труда программистов
 
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
РИТ-2008: Взаимодействие отдела проектирования интерфейсов и разработчиков в ...
 
Google I/O 2016 для разработчиков
Google I/O 2016 для разработчиковGoogle I/O 2016 для разработчиков
Google I/O 2016 для разработчиков
 
пр1 (2часа)b pwin
пр1 (2часа)b pwinпр1 (2часа)b pwin
пр1 (2часа)b pwin
 
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
Solit 2014, Централизованное управление тестами с помощью TestLink, Зубович В...
 
эволюция методологий управления (водопад, Rup, Agile) башакин
эволюция методологий управления (водопад, Rup, Agile)   башакинэволюция методологий управления (водопад, Rup, Agile)   башакин
эволюция методологий управления (водопад, Rup, Agile) башакин
 
Mva stf module 5 - rus
Mva stf module 5 - rusMva stf module 5 - rus
Mva stf module 5 - rus
 
Аудит Active directory. Обзор программы NetWrix Active Directory Change Reporter
Аудит Active directory. Обзор программы NetWrix Active Directory Change ReporterАудит Active directory. Обзор программы NetWrix Active Directory Change Reporter
Аудит Active directory. Обзор программы NetWrix Active Directory Change Reporter
 
TestLink
TestLinkTestLink
TestLink
 
Вадим Зубович - Test Link
Вадим Зубович - Test LinkВадим Зубович - Test Link
Вадим Зубович - Test Link
 

More from Александр Шамрай

Azure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребностиAzure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребностиАлександр Шамрай
 
Azure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестированиеAzure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестированиеАлександр Шамрай
 
Azure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольAzure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольАлександр Шамрай
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSАлександр Шамрай
 
Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...Александр Шамрай
 
Cовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиCовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиАлександр Шамрай
 
Управление запросами к продукту на основе Team Foundation Server
Управление запросами к продукту на основе Team Foundation ServerУправление запросами к продукту на основе Team Foundation Server
Управление запросами к продукту на основе Team Foundation ServerАлександр Шамрай
 
Практическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетовПрактическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетовАлександр Шамрай
 
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...Александр Шамрай
 
Практическое руководство IBM RTC 3 - Управление проектами жизненного цикла
Практическое руководство IBM RTC 3 - Управление проектами жизненного циклаПрактическое руководство IBM RTC 3 - Управление проектами жизненного цикла
Практическое руководство IBM RTC 3 - Управление проектами жизненного циклаАлександр Шамрай
 
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...Александр Шамрай
 
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...Александр Шамрай
 
Практическое руководство IBM RTC 3 - Управление заданиями Web client
Практическое руководство IBM RTC 3  - Управление заданиями Web clientПрактическое руководство IBM RTC 3  - Управление заданиями Web client
Практическое руководство IBM RTC 3 - Управление заданиями Web clientАлександр Шамрай
 
Практическое руководство IBM RTC 3 - Управление заданиями Eclipse client
Практическое руководство IBM RTC 3  - Управление заданиями Eclipse clientПрактическое руководство IBM RTC 3  - Управление заданиями Eclipse client
Практическое руководство IBM RTC 3 - Управление заданиями Eclipse clientАлександр Шамрай
 
Практическое руководство IBM RTC 3 - Установка и поддержка
Практическое руководство IBM RTC 3  - Установка и поддержкаПрактическое руководство IBM RTC 3  - Установка и поддержка
Практическое руководство IBM RTC 3 - Установка и поддержкаАлександр Шамрай
 
Сквозное обеспечение качества и расширяемость платформы TFS
Сквозное обеспечение качества и расширяемость платформы TFSСквозное обеспечение качества и расширяемость платформы TFS
Сквозное обеспечение качества и расширяемость платформы TFSАлександр Шамрай
 
Организация процессов разработки на основе TFS
Организация процессов разработки на основе TFSОрганизация процессов разработки на основе TFS
Организация процессов разработки на основе TFSАлександр Шамрай
 
Отчеты в TFS VSO  и практики аналитики
Отчеты в TFS VSO  и практики аналитикиОтчеты в TFS VSO  и практики аналитики
Отчеты в TFS VSO  и практики аналитикиАлександр Шамрай
 
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...Александр Шамрай
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Александр Шамрай
 

More from Александр Шамрай (20)

Azure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребностиAzure DevOps Адаптация под собственные потребности
Azure DevOps Адаптация под собственные потребности
 
Azure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестированиеAzure DevOps сборка, развертывание и тестирование
Azure DevOps сборка, развертывание и тестирование
 
Azure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контрольAzure DevOps Управление проектом и версионный контроль
Azure DevOps Управление проектом и версионный контроль
 
Организация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFSОрганизация процессов разработки на основе VSTS и TFS
Организация процессов разработки на основе VSTS и TFS
 
Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...Особенности и примеры использования Microsoft Project Server и Team Foundatio...
Особенности и примеры использования Microsoft Project Server и Team Foundatio...
 
Cовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработкиCовременные подходы организации процессов разработки
Cовременные подходы организации процессов разработки
 
Управление запросами к продукту на основе Team Foundation Server
Управление запросами к продукту на основе Team Foundation ServerУправление запросами к продукту на основе Team Foundation Server
Управление запросами к продукту на основе Team Foundation Server
 
Практическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетовПрактическое руководство IBM RTC 3 - Использование отчетности и виджетов
Практическое руководство IBM RTC 3 - Использование отчетности и виджетов
 
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...
Практическое руководство IBM RTC 3 - Конфигурирование шаблона процесса (управ...
 
Практическое руководство IBM RTC 3 - Управление проектами жизненного цикла
Практическое руководство IBM RTC 3 - Управление проектами жизненного циклаПрактическое руководство IBM RTC 3 - Управление проектами жизненного цикла
Практическое руководство IBM RTC 3 - Управление проектами жизненного цикла
 
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...
Практическое руководство IBM RTC 3 - Управление проектами на основе гибких по...
 
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...
Практическое руководство IBM RTC 3 - Управление проектами на основе формальны...
 
Практическое руководство IBM RTC 3 - Управление заданиями Web client
Практическое руководство IBM RTC 3  - Управление заданиями Web clientПрактическое руководство IBM RTC 3  - Управление заданиями Web client
Практическое руководство IBM RTC 3 - Управление заданиями Web client
 
Практическое руководство IBM RTC 3 - Управление заданиями Eclipse client
Практическое руководство IBM RTC 3  - Управление заданиями Eclipse clientПрактическое руководство IBM RTC 3  - Управление заданиями Eclipse client
Практическое руководство IBM RTC 3 - Управление заданиями Eclipse client
 
Практическое руководство IBM RTC 3 - Установка и поддержка
Практическое руководство IBM RTC 3  - Установка и поддержкаПрактическое руководство IBM RTC 3  - Установка и поддержка
Практическое руководство IBM RTC 3 - Установка и поддержка
 
Сквозное обеспечение качества и расширяемость платформы TFS
Сквозное обеспечение качества и расширяемость платформы TFSСквозное обеспечение качества и расширяемость платформы TFS
Сквозное обеспечение качества и расширяемость платформы TFS
 
Организация процессов разработки на основе TFS
Организация процессов разработки на основе TFSОрганизация процессов разработки на основе TFS
Организация процессов разработки на основе TFS
 
Отчеты в TFS VSO  и практики аналитики
Отчеты в TFS VSO  и практики аналитикиОтчеты в TFS VSO  и практики аналитики
Отчеты в TFS VSO  и практики аналитики
 
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
Сквозное обеспечение качества и расширяемость платформы на примере тестирован...
 
Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...Автоматизация функционального тестирования с использованием платформы MS Visu...
Автоматизация функционального тестирования с использованием платформы MS Visu...
 

Делаем работу разработчиков более продуктивной с Team Foundation Server 2012

  • 1. Практическое занятие Делаем работу разработчиков более продуктивной с Team Foundation Server 2012 Версия практического занятия: 11.0.51106.01 Обновление 1 Последнее обновление: 28.11.2012 г.
  • 2. СОДЕРЖАНИЕ ОБЩИЕ СВЕДЕНИЯ...................................................................................................................................3 УПРАЖНЕНИЕ 1. ОБЗОР ИНСТРУМЕНТА TEAM EXPLORER..............................................................4 УПРАЖНЕНИЕ 2: ИНСТРУМЕНТ MY WORK ...........................................................................................9 УПРАЖНЕНИЕ 2: ЛОКАЛЬНЫЕ РАБОЧИЕ ПРОСТРАНСТВА...........................................................12 УПРАЖНЕНИЕ 4: ОЖИДАЮЩИЕ ИЗМЕНЕНИЯ...................................................................................20 УПРАЖНЕНИЕ 5. ПРИОСТАНОВКА И ВОЗОБНОВЛЕНИЕ, РЕЦЕНЗИРОВАНИЕ КОДА................23 УПРАЖНЕНИЕ 6: СЛИЯНИЕ ...................................................................................................................43
  • 3. Общие сведения Это практическое занятие посвящено одному из сценариев типа «подгонка и доводка» в Team Foundation Server 2012, который позволит разработчикам повысить производительность труда при написании кода и сотрудничестве с другими членами рабочей группы. Вы узнаете о новых встроенных средствах анализа кода, новом инструменте My Work для управления активными задачами. Как только вы попадаете в «зону» Visual Studio, система помогает сосредоточиться на поставленной задаче, независимо от того, сколько параллельных задач вам приходится решать. Это стало возможным благодаря новой модели «приостановка и возобновление». Вы также научитесь беспрепятственно работать в автономном режиме, пользоваться функциями слияния и легко находить рабочие элементы. Необходимые условия Для этого практического занятия вам понадобится виртуальная машина Visual Studio 2012, предоставляемая компанией 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 минут.
  • 4. Упражнение 1. Обзор инструмента Team Explorer Выполнив данное упражнение, вы получите общее представление об изменениях, внесенных в Team Explorer в этом выпуске, и научитесь ориентироваться в предлагаемой функциональности. Для тех, кто столкнулся с Team Foundation Server впервые, следует отметить, что Team Explorer — это основной инструмент, предоставляющий пользователю Visual Studio доступ к функциональным возможностям Team Foundation Server. 1. Войдите в систему с логином Julia. Для всех учетных записей используется пароль P2ssw0rd. 2. Запустите Visual Studio 2012 с помощью ярлыка на панели задач или через меню Start | All Programs | Microsoft Visual Studio 2012. Рисунок 1 Запуск Visual Studio 2012 3. Откройте окно Team Explorer через меню View | Team Explorer, если оно еще не было выведено на экран. Обратите внимание на сходство появившихся здесь узлов высокого уровня с узлами, использовавшимися в предыдущих версиях Team Explorer. Заметное изменение — новый пункт меню Pending Changes.
  • 5. Рисунок 2 Team Explorer — домашняя страница Примечание. Изменения, направленные на повышение производительности, коснулись многих компонентов Visual Studio 2012. Там где это возможно, большое количество задач выполняется асинхронно и по требованию. Одним из примеров является инструмент Team Explorer, который загружается практически мгновенно. Когда вы переходите на определенный узел Team Explorer, контент будет получен с сервера по требованию. 4. Навигация в Team Explorer аналогична навигации в обычных веб-приложениях. Вы переходите по ссылкам с домашней страницы и можете перемещаться вперед и назад, а также возвращаться на домашнюю страницу. Мы познакомимся с навигацией более подробно в следующем упражнении, при изучении различных узлов и страниц в Team Explorer. Рисунок 3 Элементы навигации в Team Explorer 5. Щелкните ссылку Work Items на домашней странице Team Explorer.
  • 6. Рисунок 4 Ссылка Work Items 6. Представление Work Items отображает запросы, добавленные в избранное для вошедшего в систему пользователя и рабочей группы, а также позволяет добавлять новые запросы и рабочие элементы. Рисунок 5 Представление Work Items отображает все запросы 7. Нажмите стрелку Назад для возврата на домашнюю страницу.
  • 7. Рисунок 6 Расположение стрелки Назад 8. Щелкните ссылку Source Control Explorer. Рисунок 7 Ссылка Source Control Explorer Рисунок 8 Окно Source Control Explorer 9. Щелкните ссылку Settings для просмотра параметров проекта рабочей группы и коллекции проектов рабочей группы.
  • 8. Рисунок 9 Ссылка Settings Рисунок 10 Настройки Team Explorer 10. Нажмите стрелку Назад еще раз для возврата на домашнюю страницу.
  • 9. 11. Щелкните ссылку Builds для перехода к инструментам управления определениями построений и просмотра истории сборки. Рисунок 11 Ссылка Builds Рисунок 12 Окно Builds, отображающее определения построений и предыдущие сборки 12. В следующих упражнениях мы познакомимся с новым инструментом My Work. Упражнение 2: Инструмент My Work В этом упражнении мы познакомимся с новым инструментом My Work, с помощью которого вы будете управлять своими активными задачами. 1. В окне Team Explorer выберите узел My Work.
  • 10. Рисунок 13 Ссылка My Work 2. Узел My Work отображает активные рабочие элементы, доступные рабочие элементы, а также приостановленные и отложенные работы для текущего пользователя. Этот новый рабочий процесс использует модель разработки на основе задач, обеспечивая согласованность усилий всех членов рабочей группы. Рисунок 14 Окно My Work, отображающее все доступные и текущие задачи 3. Щелкните гиперссылку Open Query в разделе Available Work Items.
  • 11. Рисунок 15 Ссылка Open Query 4. Нажмите кнопку Edit Query. Рисунок 16 Просмотр принятого по умолчанию определения запроса в окне Available Work Items 5. Как видно из определения запроса, рабочие элементы включаются в набор Available Work Items, если значение в поле Work Item Type относится к группе Microsoft.TaskCategory. Рисунок 17 Предложения запроса Available Work Items Примечание. Предлагаемые рабочие элементы и их соответствие концепции My Work зависят от шаблона процесса. В шаблоне процесса Scrum сюда включаются задачи по умолчанию. 6. Давайте займемся одним из доступных рабочих элементов. На странице My Work щелкните правой кнопкой мыши элемент, название которого начинается с фразы Review new feature… и выберите пункт Add to In Progress в контекстном меню. Таким образом мы информируем нашу рабочую группу о текущем состоянии рабочего элемента.
  • 12. Рисунок 18 Щелкните правой кнопкой мыши рабочие элементы, чтобы переместить их между состояниями Рисунок 19 Результирующий вид окна My Work после переноса работы из списка Available в список In Progress Упражнение 2: Локальные рабочие пространства Данное упражнение познакомит вас с локальными рабочими пространствами и теми преимуществами, которые они обеспечивают с точки зрения автономной разработки. 1. Запустите решение FabrikamFiber.CallCenter из ветви Dev в окне Source Control Explorer.
  • 13. Рисунок 20 Окно Source Control Explorer 2. До появления Team Foundation Server 2012, операции управления исходным кодом выполнялись исключительно на сервере. Поэтому работать в автономном режиме часто было очень утомительно. С целью оптимизации работы малых рабочих групп над небольшими проектами был разработан инструмент Local Workspaces. Этот инструмент обеспечивает более клиентоориентированный рабочий процесс, схожий с процессом управления версиями по принципу Modify-Merge-Commit. 3. По-прежнему поддерживаются рабочие пространства на основе сервера, которые целесообразнее использовать в рамках крупных проектов. Загрузите окно Manage Workspaces, набрав workspaces в поле поиска Quick Launch, расположенном в правом верхнем углу окна Visual Studio. Результаты поиска загрузятся через одну–две секунды. Рисунок 21 Расположение панели Quick Launch Примечание. Поле поиска Quick Launch впервые появилось в Visual Studio 2012. Оно позволяет сэкономить время, поскольку вам не придется искать различные инструменты и команды в меню. Используйте комбинацию клавиш Ctrl + Q для перехода в поле поиска без использования мыши. 4. Выберите ссылку Workspaces…
  • 14. Рисунок 22 Выбор ссылки Workspaces 5. В окне Manage Workspaces нажмите кнопку Add… для создания нового рабочего пространства. Рисунок 23 Расположение кнопки Add для создания нового рабочего пространства 6. В окне Add Workspace нажмите кнопку Advanced, чтобы увидеть все доступные опции. Рисунок 24 Расположение кнопки Advanced, предназначенной для отображения расширенных свойств рабочего пространства 7. Найдите свойство Location для рабочего пространства. По умолчанию новые рабочие пространства будут локальными. Вы также можете создать рабочее пространство на основе сервера, если это необходимо.
  • 15. _ Рисунок 25 Выбор между локальным и серверным рабочим пространством 8. Закройте окна инструмента управления рабочими пространствами, дважды нажав клавишу ESCAPE на клавиатуре. 9. В окне Solution Explorer разверните проект FabrikamFiber.Web. Затем разверните папку Content.
  • 16. Рисунок 26 Переход к папке Content проекта FabrikamFiber.Web 10. Однократно щелкните файл fullcalendar.css для просмотра его содержимого. Обратите внимание, файл загружается в редакторе исходного кода CSS Source Editor, но вкладка для него отображается справа. Новый тип вкладки называется предварительный просмотр. Когда вы используете клавиши со стрелками для перехода от одного файла к другому или открываете их однократным щелчком мыши, на вкладке предварительного просмотра будет отображаться последний выбранный элемент. Вкладки предварительного просмотра позволяют избежать переполнения рабочего пространства Visual Studio вкладками для файлов, которые были нужны вам всего лишь временно. Рисунок 27 Вкладка Предварительный просмотр Примечание. На вкладке предварительного просмотра имеется кнопка, позволяющая превратить ее в обычную вкладку. Обратите внимание на стрелку на снимке экрана вверху. 11. Внесите произвольные изменения в файл fullcalendar.css, изменив одно из свойств стиля. Visual Studio укажет, что файл был изъят из хранилища. Однако имейте в виду, что это актуально только в локальном рабочем пространстве. Другие члены рабочей группы не узнают, что вы работаете с данным файлом.
  • 17. _ Рисунок 28 Отметка рядом с файлом показывает, что вы внесли в него изменения локально 12. Два главных преимущества локальных рабочих пространств: сценарий автономной работы значительно оптимизирован, и стало намного проще использовать внешние инструменты для работы с файлами в системе управления исходным кодом. Чтобы продемонстрировать оба эти преимущества в действии, продолжим работу и остановим сервер Team Foundation Server в службах IIS. Это позволит смоделировать ситуацию, когда вы работаете в автономном режиме, например пишете программу, находясь на пляже. В реальной жизни вы никогда не будете писать код на пляже, а будете наслаждаться отдыхом. 13. Запустите приложение Internet Information Services (IIS) Manager из меню Start | All Programs | Administrative Tools. _ Рисунок 29 Расположение ярлыка для IIS Manager 14. В окне IIS Manager разверните узел сервера VSALM и узел Sites для поиска и выбора сайта Team Foundation Server. 15. На панели Actions нажмите кнопку Stop.
  • 18. Рисунок 30 Остановка сервера Team Foundation Server 16. Вернитесь в Visual Studio, загрузите окно Source Control Explorer и нажмите кнопку Refresh. Обратите внимание, что окно перешло в состояние Disconnected. Рисунок 31 Source Control Explorer в отключенном состоянии 17. Несмотря на то, что мы отключились от Team Foundation Server, можно продолжать работу. Щелкните правой кнопкой мыши папку Content в Solution Explorer и выберите пункт меню Open Folder in Windows Explorer. Рисунок 32 Расположение пункта меню, предназначенного для открытия папки в Explorer
  • 19. 18. Добавьте новый файл в папку Content, щелкнув правой кнопкой мыши пустую область этого представления и выбрав New | Text Document из контекстного меню. Примечание. Этот файл понадобится нам в дальнейшем. Его содержимое не имеет значения. Рисунок 33 Создание нового текстового документа 19. В окне Explorer щелкните правой кнопкой мыши файл Site.css и выберите Open With | Notepad из контекстного меню. Рисунок 34 Открытие отмеченного файла в Notepad 20. В Notepad измените цвет для стиля body на red. Рисунок 35 Редактирование файла в Notepad и сохранение изменений
  • 20. 21. В Notepad выберите cохранение и закрытие для файла Site.css. Затем вернитесь к Solution Explorer. Обратите внимание, что платформа Visual Studio обнаружила изменения в файле, и что файл не был доступен в режиме «только для чтения», как в случае с рабочим пространством на основе сервера. Рисунок 36 Visual Studio отображает, что файл был изменен Упражнение 4: Ожидающие изменения В данном упражнении вы познакомитесь с инструментом Pending Changes в Team Explorer. 1. На домашней странице Team Explorer выберите ссылку Pending Changes. Рисунок 37 Ссылка Pending Changes Примечание. Если вы получили сообщение об ошибке в окне Pending Changes с информацией о том, что приложению не удается подключиться к удаленному серверу, закройте это
  • 21. сообщение и проигнорируйте его, поскольку мы специально остановили сервер Team Foundation Server в предыдущем упражнении. 2. В окне Pending Changes мы видим, что два изменения, которые были внесены в существующие файлы в предыдущем упражнении, автоматически отображаются в разделе Included Changes. Рисунок 38 Окно Pending Changes, в котором показаны включенные в этот список изменения 3. В разделе Excluded Changes обнаружены изменения, которые не были автоматически включены в список отложенных. Щелкните ссылку Detected changes (1). Рисунок 39 Некоторые изменения были обнаружены, но не были автоматически активированы 4. В окне Promote Candidate Changes вы можете увидеть дополнения к новому текстовому документу. Нажмите кнопку Promote для добавления этой позиции к группе изменений, которые вы хотите включить в следующий цикл регистрации.
  • 22. Рисунок 40 Активируем изменения вручную 5. Теперь вы увидите три внесенных изменения. Рисунок 41 Обновленное представление, отображающее все изменения, включенные как ожидающие 6. Мы можем продолжать работу над нашим проектом в автономном режиме. Однако обратите внимание, что мы не можем провести регистрацию, поскольку кнопка Check-In не активна. Рисунок 42 Зарегистрировать изменения в неподключенном режиме нельзя 7. В окне приложения Internet Information Services (IIS) Manager выберите сайт Team Foundation Server и нажмите кнопку Start на панели Actions.
  • 23. Рисунок 43 Запуск сервера Team Foundation Server 8. Вернитесь в Visual Studio и нажмите кнопку Refresh в окне Team Explorer — Pending Changes. Мы снова подключились к серверу и кнопка Check-In опять стала активной. На данном этапе не следует регистрировать изменения. Рисунок 44 Обновление окна Pending Changes для подключения к Team Foundation Server Упражнение 5. Приостановка и возобновление, рецензирование кода В этом упражнении вы узнаете о новых функциях приостановки и возобновления рабочих элементов и новом интегрированном инструменте рецензирования кода. 1. Другая распространенная, но неизбежная трудность, с которой сталкиваются разработчики — необходимость переключения между различными задачами. В предыдущих выпусках Team
  • 24. Foundation Server эта проблема решалась при помощи инструмента Shelvesets, который позволял сохранить изменения на сервере, даже если вы не были готовы зарегистрировать эти изменения в системе управления исходным кодом. В Team Foundation Server 2011 появилась новая функция — Suspend and Resume — помимо создания набора отложенных изменений. Локально сохраняются некоторые другие данные, такие как точки останова и позиции окон инструментов. 2. Новое упражнение мы начинаем с того состояния, на котором остановились в предыдущем упражнении. У нас есть набор отложенных изменений, которые должны быть внесены в процессе выполняемой работы. Загрузите окно My Work в Team Explorer для получения информации о текущих работах. Рисунок 45 В окне My Work отображаются все работы, независимо от их статуса 3. В рамках этого сценария представьте себе следующее: мы также открыли окна других средств отладки и определили точки останова, чтобы убедиться в отсутствие ошибок в алгоритмах, над которыми работаем. Откройте файл HomeController.cs в меню FabrikamFiber.Web | Controllers и добавьте точку останова для первой строки конструктора HomeController.
  • 25. Рисунок 46 Создание точки останова 4. Откройте окно Immediate в меню Debug | Windows | Immediate. 5. Теперь представьте, что ваш начальник просит вас прекратить работу над текущей задачей и немедленно устранить критическую ошибку. Нам потребовалось достаточно много времени для компоновки инструментов отладки в Visual Studio, и мы хотели бы иметь возможность вернуться к текущей ситуации после того, как исправим другую ошибку. 6. Нажмите клавиши CTRL + SHIFT + S для сохранения всех открытых файлов. 7. В Team Explorer перейдите к экрану My Work, щелкните ссылку Suspend & Shelve и нажмите кнопку Suspend. Мы могли бы изменить описание, но так как в настоящее время занимаемся этим рабочим элементом, то соответствующее поле было заполнено автоматически. Рисунок 47 Приостановка работы 8. Удалите все точки останова, нажав клавиши CTRL + SHIFT + F9. Нажмите кнопку Yes для подтверждения действия. Рисунок 48 Удаление всех точек останова
  • 26. 9. Закройте все окна документа, выбрав Window | Close All Documents в главном меню. 10. Вернитесь к исходной компоновке окна, выбрав Window | Reset Window Layout в главном меню. Рисунок 49 Возврат к исходному виду окна 11. На данном этапе вы получили чистое рабочее пространство, а предыдущие задачи, над которыми вы работали, должны отображаться в разделе Suspended Work в окне My Work. Рисунок 50 Раздел окна My Work, отображающий приостановленные задачи 12. Обратите внимание на поле поиска рабочих элементов в верхней части окна Team Explorer. Этот инструмент позволяет выполнить поиск всех рабочих элементов в выбранном проекте рабочей группы. Введите слово Canadian в поле поиска и нажмите клавишу Enter, чтобы найти критическую ошибку, которую вас попросили исправить. Рисунок 51 Поиск рабочих элементов Примечание. Быстрый поиск проекта команды для введенных ключевых слов по умолчанию осуществляется по названию, описанию и полю «Шаги по воспроизведению». Вы также
  • 27. можете щелкнуть стрелку раскрывающегося списка для отображения истории поиска и добавления параметров поиска для метаданных, таких как тип рабочего элемента или сотрудник, которому присвоен рабочий элемент. 13. Дважды щелкните сообщение об ошибке, озаглавленной Customers with Canadian addresses not displaying properly. Рисунок 52 Расположение критической ошибки, которую необходимо исправить 14. В окне, отображающем информацию об ошибке, щелкните ссылку Tasks для отображения связанных с этой ошибкой рабочих элементов. Обратите внимание, в списке присутствуют две дочерние задачи.
  • 28. Рисунок 53 Просмотр существующих дочерних задач 15. Представьте себе, что другие члены рабочей группы уже занимаются этими дочерними задачами. Но нам известно о другой проблеме, связанной с родительской ошибкой, которая также должна быть устранена. Нажмите кнопку New в разделе Tasks для создания новой дочерней задачи. Рисунок 54 Создание новой дочерней задачи 16. Для вновь подключенного рабочего элемента выберите Link Type — Child, Work Item Type— Task. Введите Title— Fix RegEx for Zip code property, затем нажмите кнопку OK.
  • 29. Рисунок 55 Создание новой дочерней задачи 17. Назначьте сотрудника Julia ответственной за выполнение этой задачи и нажмите кнопку Save Work Item. Рисунок 56 Назначение сотрудника Julia ответственной за выполнение работы 18. Вернитесь в окно Team Explorer — My Work. В разделе Available Work Items должна появиться новая задача. Рисунок 57 Расположение новой задачи в разделе My Work
  • 30. 19. Щелкните правой кнопкой мыши новую задачу под названием Fix RegEx for Zip code property и выберите пункт Add to In Progress из контекстного меню. Рисунок 58 Перемещение новой задачи в группу In Progress 20. В окне Solution Explorer откройте файл Address.cs в папке Models проекта FabrikamFiber.DAL. Свойство Address.Zip в настоящее время использует неправильное регулярное выражение для аннотирования данных. В результате пользователи веб-приложения могут ввести неверный почтовый индекс для канадских адресов. Рисунок 59 Исходный код с ошибкой 21. Предположим, что правильным решением будет обновление регулярного выражения. Закомментируйте текущее регулярное выражение, а затем раскомментируйте другое выражение. Рисунок 60 Исходный код с исправленной ошибкой
  • 31. 22. Нажмите клавиши CTRL + S для сохранения изменений в файле. 23. Теперь, когда ошибка исправлена, давайте попросим сотрудника Cameron выполнить проверку изменений в коде, чтобы убедиться, что всё выглядит правильно. В окне Team Explorer — My Work щелкните ссылку Request Review. Рисунок 61 Расположение ссылки Request Review 24. Введите Cameron Skinner в качестве имени рецензента и нажмите клавишу Enter. Введите описание Please check my regular expression change и нажмите кнопку Submit Request. Рисунок 62
  • 32. Оформление запроса на проверку кода 25. Войдите в систему с логином Cameron, чтобы выполнить проверку кода. Пароль для всех учетных записей в данной виртуальной машине P2ssw0rd. 26. Загрузите Visual Studio 2012, откройте Team Explorer и перейдите к My Work. Новый запрос на проверку кода отображается в разделе Code Reviews внизу. Выберите Incoming Requests. Рисунок 63 Раздел Code Reviews окна My Work 27. Дважды щелкните запрос на проверку кода, чтобы открыть окно Code Review. Это представление позволяет сотруднику Cameron увидеть всю доступную информацию о запросе и определить, стоит ли принять или отклонить задачу. Он может просмотреть весь набор отложенных изменений и список других рецензентов, а также добавить кого-либо в список рецензентов, просмотреть соответствующие рабочие элементы, комментарии, связанные с запросом на проверку кода и, наконец, может отследить все изменения в файлах одним щелчком мыши.
  • 33. Рисунок 64 Окно Code Review 28. В окне Code Review нажмите кнопку Accept, чтобы приступить к проверке. Рисунок 65 Расположение кнопки Accept 29. Выберите файл Address.cs из раздела «Комментарии», чтобы открыть его с помощью нового встроенного инструмента сравнения.
  • 34. Рисунок 66 Расположение файла с исправленной ошибкой 30. По умолчанию мы просматриваем изменения в режиме параллельного сравнения. Красный цвет фона принят для изменений в старой версии, а зеленый — в новой (справа). В режиме сравнения в нижней части окна отображаются условные обозначения. Рисунок 67 Встроенный инструмент сравнения позволяет увидеть отличия между старой и новой версиями кода Примечание. Новый инструмент сравнения Visual Studio 2012 полностью интегрирован в редактор. Он также используется в процессе слияния, с которым мы познакомимся далее. 31. В панели инструментов Compare Files нажмите кнопку раскрывающегося меню compare mode. Вы увидите различные режимы отображения, которые инструмент сравнения может использовать. Попробуйте использовать несколько различных режимов. Примечание. Если панель инструментов Compare Files не была открыта, откройте ее через главное меню Visual Studio View | Toolbars | Compare Files.
  • 35. Рисунок 68 Расположение кнопки выбора режима сравнения 32. Допустим, мы согласны с тем, что изменения верны. Продолжим работу, добавив комментарий рецензента по этому поводу. Щелкните ссылку Reply под сообщением сотрудника Julia. Рисунок 69 Расположение ссылки Reply, которая позволяет оставлять комментарии 33. В качестве комментария введите that looks good и нажмите кнопку Save. Рисунок 70 Вводим ответ на комментарий 34. Обратите внимание, рядом с новым комментарием присутствует надпись Unsent. Комментарий не будет отправлен, пока сотрудник Cameron не закончит проверку.
  • 36. Рисунок 71 Комментарий не отправляется автоматически 35. Вы также можете оставить комментарии для отдельных файлов и блоков кода. В инструменте сравнения воспользуйтесь мышью, чтобы выделить название свойства Zip, щелкните правой кнопкой и выберите пункт Add Comment в контекстном меню. Рисунок 72 Добавление комментария для кода 36. В поле для комментариев введите Consider renaming PostalCode и щелкните ссылку Save.
  • 37. Рисунок 73 Добавление заметки для кода 37. Щелкните ссылку Send Comments в верхней части окна Code Review (Проверка кода) для отправки подготовленных комментариев. Возможность немедленной отправки комментариев может быть полезна в процессе проверки кода, который требует больше работы, чем рассмотренный нами пример. Если рецензент обнаруживает проблему, разработчик может немедленно приступить к устранению ошибок, не дожидаясь, пока рецензент закончит проверку. Рисунок 74 Ссылка Send Comments 38. Щелкните раскрывающийся список Send & Finish и выберите опцию Looks Good для завершения проверки кода.
  • 38. Рисунок 75 Завершение проверки кода 39. В разделе Code Reviews & Requests окна My Work щелкните раскрывающийся список Incoming & Outgoing и выберите опцию Recently Finished для просмотра информации о проверке кода, которую только что закончил сотрудник Cameron. Рисунок 76 Просмотр информации о недавно завершенных проверках Рисунок 77 Информация о недавно завершенной проверке кода отправляется обратно сотруднику, который создал запрос 40. Смените пользователя и снова войдите в систему с логином Julia. 41. Вернитесь в окно Team Explorer — My Work и дважды щелкните заголовок элемента Code Review, чтобы открыть его.
  • 39. Рисунок 78 Проверка кода завершена 42. В окне Team Explorer — Code Review проверьте, что сотрудник Cameron закончил проверку и оставил комментарии.
  • 40. Рисунок 79 Окно Code Review с обновленной информацией после проверки кода 43. В рамках данного сценария будем считать, что проверка кода завершена. Щелкните ссылку Close Review и выберите вариант Complete. Рисунок 80 Закрыть проверку как завершенную
  • 41. 44. Теперь, когда мы уверены, что критическая ошибка устранена, можно зарегистрировать изменения. Щелкните ссылку Check In для загрузки окна Pending Changes, и нажмите кнопку Check In для завершения работы над заданием. Рисунок 81 Регистрация изменений Рисунок 82 Регистрация изменений 45. Теперь можно вернуться к программе, над которой мы изначально работали до того, как нас попросили исправить ошибку. В окне My Work щелкните правой кнопкой мыши задачу, размещенную в разделе Suspended & Shelved Work. Затем выберите опцию Resume из контекстного меню.
  • 42. Рисунок 83 Возобновление приостановленной работы 46. После открытия набора отложенных изменений и восстановления контекста задачи вы заметите, что окна документов и инструментов были размещены в том виде, в каком они были на момент приостановки этой задачи. Если бы у вас было несколько мониторов, вы бы заметили, что Visual Studio 2012 также размещает все инструментальные окна на тех мониторах, где они были открыты на момент приостановки работы. Такая возможность позволяет вам быстро приостанавливать работу, решать более приоритетные задачи и затем возобновлять работу над основным проектом.
  • 43. Рисунок 84 Среда разработки с возобновленным проектом Упражнение 6: Слияние В данном упражнении вы познакомитесь с инструментом слияния. 1. Необходимо оставаться авторизованным с логином Julia, как в предыдущем упражнении. 2. В окне Team Explorer — Pending Changes вы увидите три позиции в разделе Included Changes. Двойным щелчком откройте файл Site.css. Рисунок 85 Открываем файл Site.css 3. Напомним, что мы ранее изменили цвет основного текста на красный. Теперь посмотрим, что произойдет, если другой пользователь внесет изменения в этот же файл, а затем зарегистрирует их. 4. Смените пользователя и войдите в систему с логином Cameron. Для всех учетных записей используется пароль P2ssw0rd. 5. Загрузите Visual Studio 2012 и откройте решение FabrikamFiber.CallCenter из ветви Dev в Source Control Explorer.
  • 44. Рисунок 86 Окно Source Control Explorer 6. В Solution Explorer откройте файл Site.css из папки Content проекта FabrikamFiber.Web. Рисунок 87 Расположение папки Content в проекте FabrikamFiber.Web 7. Внесем другое изменение, отличающееся от сделанного сотрудником Julia. Измените свойство font-size с .9em на .5em. Рисунок 88 Вносим изменения в файл стилей 8. Нажмите клавиши CTRL + SHIFT + S, чтобы сохранить все документы. 9. В окне Team Explorer — Pending Changes нажмите кнопку Check In. Если система попросит вас подтвердить регистрацию, сделайте это. Рисунок 89 Регистрация изменений в файле стилей
  • 45. 10. Смените пользователя и снова войдите в систему с логином Julia. 11. В Solution Explorer щелкните правой кнопкой мыши файл Site.css и выберите пункт Get Latest Version в контекстном меню. Рисунок 90 Получение последней версии файла стилей 12. Обратите внимание, что размер шрифта основного текста в файле Site.css был изменен в соответствии с выбором сотрудника Cameron. При этом сделанные нами текущие изменения (красный цвет текста) также присутствуют. Таким образом, приложения Team Foundation Server 2012 и Visual Studio 2012 пытаются, по возможности, осуществлять автоматическое слияние изменений, не вовлекая пользователя в этот процесс. Это позволяет сэкономить время в сравнении с предыдущими версиями. Рисунок 91 Файл стилей с автоматически объединенными изменениями 13. Смените пользователя и войдите в систему с логином Cameron. 14. Внесем изменения, инициирующие процесс слияния вручную. В файле Site.css измените свойство color для основного текста на black. Рисунок 92
  • 46. Внесение в файл стилей изменений, которые будут конфликтовать с изменениями, вносимыми другими пользователями 15. Нажмите клавиши CTRL + SHIFT + S для сохранения всех документов. 16. Выберите Check in в окне отложенных изменений. 17. Смените пользователя и войдите в систему с логином Julia. 18. Представим, что сотрудник Julia не знает о том, что сотрудник Cameron изменил цвет основного текста на черный. В окне Solution Explorer щелкните правой кнопкой мыши файл Site.css и выберите пункт Get Latest Version в контекстном меню. После этого загрузится окно Resolve Conflicts. Рисунок 93 Окно Resolve Conflicts 19. Нажмите кнопку Merge Changes In Merge Tool, чтобы вручную инициировать процесс слияния. Если появится запрос сохранить и закрыть Site.css, нажмите Yes для продолжения. Рисунок 94 Расположение кнопки для инициирования процесса слияния 20. Новый процесс слияния также использует интегрированный инструмент сравнения. По умолчанию в процессе слияния изменения отображаются в режиме параллельного сравнения. Обратите внимание, что в версии на сервере (слева) присутствует черный цвет, в локальной версии (справа) — красный цвет, а в результирующей версии (в центре) — первоначальный цвет.
  • 47. Рисунок 95 Применение инструмента слияния для согласования изменений 21. Продолжим работать с версией на сервере. Установите флажок справа от свойства color основного текста — black (в левой панели).
  • 48. Рисунок 96 Слияние изменений вручную 22. На инструментальной панели Merge Toolbar нажмите кнопку Accept Merge. Рисунок 97 Принимаем выполненное вручную слияние Свои отзывы и предложения вы можете отправить по электронной почте: VSKitFdbk@Microsoft.com © 2013 г. Корпорация Microsoft. Все права защищены.