Разработчики получают список своих задач из базы данных элементарных работ. Кроме того, они используют элементарные работы для пояснения технических требований, пользовательских сценариев, ошибок и т. д. Разработчики являются, вероятно, основными потребителями элементарных работ в системе Team System. Мы уже обсуждали большинство этих сценариев. Поэтому сосредоточимся на основном действии разработчика— связывании кода с элементарной работой.
Связывание элементарных работ и кода дает серверу Team Foundation Server важную статистику. Оно позволяет сделать отчет по изменениям кода, продвижению задач, а также по состоянию ошибок. Кроме того, оно предоставляет важную связь для возвращения к коду и выполнения его обслуживания. Исключительно полезна возможность посмотреть на код, 'а затем прочитать соответствующие требования, задачи и сценарии.
Совет
Считается хорошей практикой создавать политику возврата, которая заставляет разработчиков связывать все возвраты с одной или несколькими элементарными работами. Это обеспечивает надлежащее отслеживание работ по разработке (и возможность предоставления соответствующих отчетов).
Связывание кода и элементарных работ при помощи возврата
Основной метод разработчика для связывания кода с элементарной работой — это выполнение такого связывания при возврате кода в системе управления исходными кодами. Мы описывали управление исходными кодами в главе 24. Однако очень важно проиллюстрировать здесь этот процесс с точки зрения элементарных работ.
Предположим, что вы являетесь техническим руководителем проекта и перед вами стоит задача создания скелетной структуры приложения. Конечно, эта задача будет элементарной работой. Ваши действия как технического руководителя могут включать создание решения и проектов, а также написание кодовых заглушек для множества элементов проекта.
Когда код будет готов, вы вернете всю структуру кода. Во время процесса возврата вы свяжете возврат с задачей генерирования структуры кода. Вы сделаете это при помощи нажатия значка Work Items в диалоговом окне Check In. Выбор этой опции откроет окно, которое позволит вам выполнить запрос и поиск элементарных работ для связывания с кодом. На рис. 25.28 показан пример.
После того как вы найдете задачу, выставите флажок для выполнения связывания. Кроме того, вы можете указать, выполняет ли возврат данную задачу. Сделайте это посредством настройки действия Check-in Action (крайний правый столбец). Такая настройка автоматически помечает статус задачи как Resolved.
И наконец, этот процесс создает также обратную связь с элементарной работой. Когда вы откроете элементарную работу и щелкнете вкладку Links, то увидите набор изменений, который был возвращен в предыдущем процессе. Этот связанный набор изменений представляет собой историю того, какой код был возвращен в связи с данной элементарной работой. На рис. 25.29 показана эта связь и открытый массив изменений.
Совет
Чаще всего вы будете связывать возврат с несколькими элементарными работами. Такая возможность полностью поддерживается и считается хорошей практикой. Например, если ваш возврат исправляет ошибку, связан с требованием и выполняет задачу, которая была создана для исправления ошибки, то лучше всего организовать связь со всеми тремя элементарными работами.
Связывание кода с элементарными работами
Вы можете также связать код с элементарной работой (при помощи вкладки Link элементарной работы). Эта возможность полезна в том случае, когда вы хотите выполнить связь вне возврата (либо вы забыли это сделать).
Для связи кода перейдите к элементарной работе и выберите вкладку Links. Нажмите кнопку Add для того, чтобы получить диалоговое окно Add Link. В этом диалоговом окне выберите в поле Link type значение Versioned Item. Затем нажмите кнопку Browse. Пример показан на рис. 25.30.
В этом примере ваша задача— создать класс Customer. Класс создается и регистрируется. Теперь его нужно вручную связать с элементарной работой. После нажатия кнопки Browse вы можете перейти по дереву исходных кодов (для нахождения нужных файлов кода, с которыми вы будете связывать работу). На рис. 25.31 показан этот процесс в действии. После выбора вы сможете указать, должна ли связь всегда указывать на самую последнюю версию или на набор изменений.