Здравствуйте, MTD, Вы писали:
MTD>Здравствуйте, мыщъх, Вы писали:
М>>как можно программировать если сборка проекта занимает неделю многопроцессорного времени и потому осуществляется раз в квартал. MTD>Ну это не важно. Сборка всего проекта != сборка отдельного компонента.
разумеется, сборку отдельного компонента можно осуществлять хоть каждый день. только смысла в этом нету. "компилируется != работает". это менят стиль разработки. что-то покрывается юнит-тестами, где-то пишутся функции-заглушки для тестирования вашего кода, который взаимодействует с сетевыми сервисами по XML-RPC, только доступа к сервисам у вас нету.
а если еще ваш модуль используется в over 9000 мест другими разработчиками, часть из которых юзает его как библиотеку, часть -- пишет враппер и вызывает из руби, часть -- вызывает из java, часть вообще его отбранчила и теперь мержит все ваши изменения самостоятельно.
допустим, вы что-то изменили и у вас все работает, а они криво это смерджили. конечно, это их вина, но степень их вины сильно зависит от вашего стиля разработки. в частности, рефракторинг кода встречается в штытки и приходится сразу писать правильно. чисто абстрактная ситуация. у вас была одна функция на 10,000 строк, которая используется только внутри модуля и потому ее изменения не нарушают публичных контрактов. вы взяли и переписали ее красиво и аккуратно. сделали 10 классов, в каждом 10 методов, каждый метод порядка 100 строк. красота!!! вот только тем парням у которых свой бранч вашего кода такая красота хуже воровства, особенно, если их бранч ушел далеко в сторону. они подойдут к вам и спросят -- на хрена вы это сделали? (отдельный вопрос почему возникают бранчи).
это все меняет стиль разработки, который исповедуют очень многие люди, особенно молодое поколение. начитались "умных" книжек и решили, что рефракторинг -- это хорошо, а это на самом деле очень плохо.
americans fought a war for a freedom. another one to end slavery. so, what do some of them choose to do with their freedom? become slaves.