Павел Егоров. «Управление разработкой»

Автор Liza Merichenko
Павел Егоров. «Управление разработкой»

Добрый день.

Меня зовут. Павел Егоров и сегодня будет небольшая лекция про управление разработкой я расскажу про некоторые техники и приемы которые помогут вам заниматься командной. Водка есть некоторого программного проекта для начала немножко буквально пару слов о себе.

Я примерно 10 лет занимаюсь разработкой программ обеспечения начинался разработчика.

Сейчас я тоже разрабатываю программное обеспечение и в компании. СКБ контур. Занимаюсь тем, что управляю не большими командами разработки с этим я преподаю в институте математики и компьютерных наук. Уральского Федерального. Университета — это то, что раньше назывался матмех. УрГУ соответственно всё о чём я буду — это некоторые техники некоторые вещи которые не только — это не только теории некоторые практически проверенные вещи которые много раз применялись на практике и точно проверены точно работают — это ехали. Какие же основные сложности при разработке программного обеспечения в команде ну во-первых нужно как-то научиться совместно работать с тем программным кодом который вы делаете в команде во-вторых нужно научиться как-то планировать свою работу. Возможно у вас есть какие-то сроки которые нужно успеть. Ну и в любом случае каждый участник команды должен действовать согласно общему плану. Ну и в конце концов мы поговорим про то как может быть устроена взаимодействие в команде как члены команды должны, что они должны делать чтобы у них вместе всё. Итак поехали совместная работа с кодом. Давайте поймём. В чем собственно проблема совместной работы с кодом допустим есть. Вася который решил вместе со своим другом другом. Петей Написать вместе какой-то программный проект. Вася написал какую-то первую версию и её дети чтобы. Петя продолжал её развивать. Петя Естественно, что ты добавил в неё. Да вот добавил какой-то кружочек и пока он — это добавлял естественно. Вася тоже не стоял на месте он тоже что-то тоже развивал эту программу и добавил ещё что-нибудь в какой-то момент допустим. Петя закончил делать свою часть и связывается с. Васей говорит. Вася давай объединим наши. Всё мы вместе и получим что-то готовое в этот момент. Вася может сказать. Нет Нет. Нет я ещё не готов я ещё только делаю свою часть и мне ещё нужно некоторое время. Петя говорит. Хорошо, тогда я продолжу что-то делать и начинает делать, что ты дальше и в тот момент когда получается, что в тот момент когда я тебя готов к тому чтобы встретиться изменения не готов. Вася может быть так, что потом когда. Вася станет готов не готов будет. Петя и — это первое совместной работы то есть нет такой точки синхронизации когда они могут объединить свои усилия, а но допустим они решили как-то эту проблему есть некоторый момент времени когда не готова оба готовы им нужно как-то объединить всё, что они сделали получив программу содержать изменение. Потерпите и изменения. Васи — это сам по себе довольно нетривиальные процесс нужно понять какие файлы. Кто менял в каких файлах нужно взять изменения пенсий в каких нужно взять изменения. Васи и если если вдруг есть файлы в которых которые менялись и тем и другим нужно разобраться. Какие строчки откуда нужно взять в целом — это процесс довольно сложный и тяжелый и довольно рутинный и никому не хочется заниматься. Как же правильно решать эти проблемы. Лично я узнал о том как правильно решать только на втором своём месте работы мне в университете пары не рассказали на первом месте работы с этим столкнуться пришлось и только на втором месте работы я узнал правильное решение правильное решение заключается в использовании специальных систем они называются системой контроля версий. Сейчас я вам расскажу некоторую общую идею общую концепцию которая стоит за такими системами и потом немножко расскажу какие какие конкретные системы и как их использовать идея в целом довольно простая давайте мы заведем некоторый сервер то есть компьютер который всё время и всё время доступен мы положим все исходные коды нашей программы на этот сервер и будем считать, что здесь хранятся эталонная версия. Последняя, а всех исходных кодов теперь как только. Вася хочет что-то доделать в программе он делает следующую вещь он получает последнюю версию сервера вносит свои изменения и потом эти изменения отправляет обратно на сервер может так получиться, что одновременно с. Васей Ту самую первую версию взял ещё и. Петя и пока. Петя работал. Вася уже успел сделать изменения и вернуть их на сервер, тогда у. Пети Может у. Пети может возникнуть некоторые проблемы. Он хочет вернуть изменения на сервер на сервер понимает, что изменения конфликтуют уже уже есть. Вася который внёс эти изменения до 5 и эти изменения может могут конфликтовать в этот момент из 1 1 полезное действие которое делает сервер он замечает, что есть некоторые конфликты, а второе действие которое он делает он может часть этих конфликтов разрешить самостоятельно. Например если. Вася и. Петя меняли разные файлы то конфликт, но очевидным образом можно разрешить автоматически взяв те файлы которые. Вася и те которые. Петя и фрукты просто их объединив может быть более сложная ситуация когда. Вася и. Петя меня один файл и, тогда можно и, тогда может быть такая ситуация что. Вася менял этот файл где-то в начале. Петя где-то в конце, тогда система контроля версий опять может догадаться, что конфликтной ситуации на самом деле нет нужно взять в. Асино изменения в начале файла пятен и в конце и там объединить эти два изменения так и наконец может быть последняя ситуация когда. Вася и. Петя меняли один и тот же файл в одном и том же месте. Так может происходить. Например если в исходную версию программы была ошибка и. Вася и. Петя её решил исправить исправить её немножко различным образом. Ну и в этом случае система контроля версий. Конечно уже не может на себя взять ответственность она может. Единственное, что она может сделать она может сказать. Петя Петя. Извини тут действительно конфликт.

0 комментариев
0

Читайте также