Как организована разработка больших проектов с частичным доступом к коду?
Очень интересно как организована разработка больших проектов, как предоставляется доступ к исходникам для оутсорсеров/фрилансеров. Какая система для этого используется? Как происходит тестирование написанного кода? Какую документацию или книгу следует прочитать чтобы разобраться с этим? Как устроена защита от воровства кода, к которому имеют доступ большое количество народа?!
@kodnik ну в svn-е есть транк и бранчи. Транк - а-ля, мастер. Вот он всегда должен собираться целиком (в смысле компоненты всей вашей системы оттуда всегда должны собираться). Зеленый == прошедший все тесты после сборки, иначе ничего вообще не релизится.
@kodnik в гите есть мастер-ветка и бранчи.
Другой вопрос, что с гитом нельзя в одном репозитории выдавать разные права на разные каталоги. Так что система сборки усложнится - придется все собирать из нескольких репозиториев.
1. Готовая среда для исполнения кода программиста (тестирования)
2. Разделение проекта на системы (четкое описание API между системами)
3. Делегирование разработки разных систем разным разработчикам, причем чтобы они не знали друг друга и общались только через менеджера.
Так бекенд и рассчитывает всё, там заложены все формулы бизнес-логики. Конечно, без совокупности с фронтендом, не столь очевидна и визуализирована бизнес-логика, но она там и заложена.
Сорри. Попутал бэкенд с фронтедом. Так я вам в ответе и написал про бэкенд (разделяйте систему на части, и не позволяйте собрать части в единое целое кем-то кроме вас)
@begemot_sun предоставление сотрудникам/фрилансерам доступа к коду. Обычно каждая новая задача реализуется в новой ветке кода, а после успешного имплеминтирования и тестирования, она обратно вливается в основную master ветку.
В больших проектах без этого никуда.
@Offenso Зачем скрывать код, над которым нужно работать? Если фрилансеру нельзя видить какой-либо код, ему не дают доступ к этому репозиторию.
Ветки нужны для разделения кода на задачи таким образом, чтобы никто из программистов не мешал друг другу.
Все же знают, что работать в одной ветке или одном SVN неудобно.