Читаем Время - деньги. Создание команды разработчиков программного обеспечения полностью

Когда я пришёл в NuMega, для одного из продуктов было создано три каталога по именам разработчиков: Frank, Bill и Matt. Так как каждый работал над своим собственным кодом, они могли вносить изменения, не повреждая чужих файлов. Однако там было мало общего кода (одна большая структура данных для основных подсистем). Но это работало! Дальше нам нужно было увеличить команду разработчиков, и мы уже не могли обойтись без системы управления исходным кодом. Такая система позволила усложнить проект, удерживая его под контролем. Без неё я просто не могу представить ПО для разработчиков.


В папке Environment ($/Env) хранятся файлы, используемые командой разработчиков, но не являющиеся частью конечного продукта. Это все, начиная с инструментов и утилит и заканчивая стандартами создания кода и шаблонами для проекта. Папка Environment содержит файлы среды, описывающие среду с точки зрения разработчика, а также с точки зрения тестирования и документации. В NuMega мы хотели создать общую среду для команд разработчиков, и потому для этой цели мы создали специальный раздел в хранилище исходного кода. Вот примерный список подкаталогов, которые могут быть в этом разделе хранилища исходного кода (табл. 5-2):


Табл. 5-2. Примерная структура папки Environment.

$/Env/Dev/ ПО среды разработки и инструментальных средств

$/Env/Dev/Bin Исполняемые модули (подкаталог для каждого инструмента)

$/Env/Dev/Src Исходный код для этих инструментов (подкаталог для каждого)

$/Env/Dev/Doc Документация для этих инструментов (подкаталог для каждого)

$/Env/Dev/Etc Прочие файлы


$/Env/Test/ Инструментальные средства и файлы для тестирования

$/Env/Test/Bin

Исполняемые модули

$/Env/Test/Src Исходный код и документация для этих инструментов

$/Env/Test/Doc Документация по среде тестирования

$/Env/Test/Etc Прочие файлы


$/Env/Documentation/ Документация по среде проекта

$/Env/Documentation/Templates Шаблоны проекта, шаблоны документации и справочники по стилям

$/Env/Documentation/Plans Планы и спецификации проекта, тестовых заданий и документации

$/Env/Documentation/Process Технологические документы проекта


$/Env/Etc Прочие файлы, не вошедшие в предыдущие категории


В папке Imports ($/Imports) хранились файлы или наборы инструментов из сторонних продуктов (табл. 5-3). Сами сторонние продукты в этой папке не содержались, там были только библиотеки и заголовки. В результате в разделе Imports проводилось совсем немного изменений. Однако так как эта область использовалась для хранения различных версий сторонних продуктов, было очень важно не вносить никаких изменений без чёткого осмысления, полного тестирования и учёта связей с элементами, на которые эти изменения могли бы подействовать.

Табл. 5-3. Примерная структура папки Imports.


$/Imports/RogueWave Библиотеки и заголовки RogueWave

$/Imports/ObjectSpace Библиотеки и заголовки ObjectSpace

$/Imports/Visual С Результаты компиляции, библиотеки и заголовки Visual С

$/Imports/Install Shield Библиотеки и заголовки Install Shield

$/Imports/Прочие Папки для каждого инструмента или библиотеки сторонних производителей

Компоновочная система

В NuMega мы писали сценарий сборки продукта на выделенной «компоновочной машине». Сценарий должен был выбирать нужные для сборки продукта файлы из системы управления исходным кодом. Эта информация включала как сами средства компоновки, так и исходные файлы, библиотеки, заголовки и другие необходимые компоненты. Для ведения процесса компиляции мы выбрали Nmake — популярное средство управления компоновкой. Nmake сначала собирает все части продукта, а затей компонует окончательные исполняемые файлы продукта.

Перейти на страницу:

Похожие книги

Легкий текст. Как писать тексты, которые интересно читать и приятно слушать
Легкий текст. Как писать тексты, которые интересно читать и приятно слушать

Немало успешных спикеров с трудом пишут тексты, и ничуть не меньше успешных авторов весьма бледно смотрятся на сцене. Все дело в том, что речь устная и речь письменная – это два разных вида речи. И чтобы быть правильно понятыми, нам необходимо умение точно и увлекательно излагать мысли устно и письменно, о чем бы ни шла речь. Письма, сообщения, посты в соцсетях, тексты для публичных выступлений, рассказы о путешествиях или событиях – важно, чтобы тексты было приятно и читать, и слушать.В этой книге Светлана Иконникова, тренер по написанию текстов, рассказывает, как точно и убедительно излагать мысли в деловой переписке, соцсетях и мессенджерах, а Нина Зверева, известная телеведущая, бизнес-тренер, автор бестселлеров, объяснит, как создать идеальный текст для выступления. Как передать интонацию на письме, что такое геометрия и вектор текста, с чего он должен начинаться, для кого пишется, как зацепить внимание слушателя и читателя с первой фразы, интересные истории из практики, упражнения и советы – эта книга для тех, кто хочет, чтобы его читали, смотрели и слушали.

Нина Витальевна Зверева , Светлана Геннадьевна Иконникова

Деловая литература / Отраслевые издания / Финансы и бизнес
Как гибнут великие и почему некоторые компании никогда не сдаются
Как гибнут великие и почему некоторые компании никогда не сдаются

Джим Коллинз, взирая взглядом ученого на безжизненные руины когда-то казавшихся несокрушимыми, а ныне канувших в Лету компаний, задается вопросом: как гибнут великие? Действительно ли крах происходит неожиданно или компания, не ведая того, готовит его своими руками? Можно ли обнаружить признаки упадка на ранней стадии и избежать его? Почему одни компании в трудных условиях остаются на плаву, а другие, сопоставимые с ними по всем показателям, идут ко дну? Насколько сильными должны быть кризисные явления, чтобы движение к гибели стало неотвратимым? Как совершить разворот и вернуться к росту? В своей книге Джим Коллинз отвечает на эти вопросы, давая руководителям обоснованную надежду на то, что можно не просто обнаружить и остановить упадок, но и возобновить рост.

Джим Коллинз

Деловая литература