Работа в группе разработчиков...
Позвали вступить в группу разработчиков. До этого кодил всегда сам по себе один. Дали задание реализовать то-то. И тут я задумался а как в команде идет согласование работы. Т.е. вообще это как организовано? Не делает же каждый исполняемый файл! Или каждый пишет отдельную библиотеку? Даже не знаю как начать.
ну, как я понимаю - тебе дают тех. задание и ты, в соответствии с ним, пишешь библиотеку, при этом подробно описывая/комментируя функции/классы, и что нужно, чтобы пользоваться этой библиотекой. Соответственно, кто то, кто собирает все такие модули в одну программу, сидит и по твоим описаниям/комментариям использует твой модуль...
Вообще подобные вещи стоит оговаривать сразу. ;)
Про необходимость и количество комментариев спорить можно много и долго, а главное - без толку. Всё потому, что одному и кода хватает, чтобы всё понять, а другой и комментарии написать грамотно не может - вот и пишет всякую чушь, которая только больше запутывает. :)
Значит все таки отдельный член группы пишет один/несколько unit.pas в котором оговаривается способ его взаимодействия с главным модулем. Правильно я понимаю?
Если реализация работы класса требует изменения его внешнего интерфейса, тогда производится устаканивание данных изменений с остальными разработчиками.
На более высоком уровне организуется использованием систем контроля версия, например TortoiseSVN.
Цитата: Donik
Значит все таки отдельный член группы пишет один/несколько unit.pas в котором оговаривается способ его взаимодействия с главным модулем. Правильно я понимаю?
Если упрощённо, то да, ты верно понял. А вообще оговаривается обычно взаимодействие не модулей, а различных блоков программы. Тут могут быть и модули, и классы, и интерфейсы, и различные отдельные функции. Кроме того, иногда (на ассемблере) требуется оговаривать, с какими регистрами можно работать, а какие лучше не трогать.
Система контроля версий помогает содержать проект в порядке и поддерживать его работоспособность, за что обычно и применяется при командной разработке.
TortoiseSVN - конкретная виндовая (клиентская как правило) реализация.