Организация разработки крупного проекта через API

testergame

Новичок
Доброго времени суток.
Есть проект браузерная онлайн игра которая разрабатывается уже какое-то время, только мной. То есть я единственный у кого есть доступ к php скриптам.

Из за того, что я работаю один в целом проект развивается очень медленно.
И вроде есть деньги нанять еще 2-3 php-программиста, но проблема в том, что за время разработки на мой взгляд проект накопил достаточно много ценной информации которую просто так не даш в свободный доступ. Попросту я боюсь, что нанимая новых программистов кто-то из них обязательно унесет с собой части проекта или того хуже создаст копию, что-то на подобие онлайн игр: комбатса(BK) и олдкомбатса(oldBK).

У меня возникла такая идея, не давать новому программисту доступ к самому проекту, а дать доступ к API проекта, что-то на подобие API ВКонтакте.

Например в проекте есть следующие модули:
/base
/chat
/shop
/battle

Предположим, что у нас есть три программиста каждый работает только над своим модулем:
/base - Общяя папка для всех программстов
/chat - Программист #1 работает над чатом
/shop - Программист #2 работает над магазином
/battle - Программист #3 работает над боем

Соответственно программист #1 имеет доступ только к папкам /base и /chat
Соответственно программист #2 имеет доступ только к папкам /base и /shop
ну и т.д.


Но вот, что если программисту #3 нужна функция для работы с чатом, например:
Программист #3 написал функцию задача которой по завершению боя написать в чате сколько пользователь получил опыта.

Для подобной реализации программсту #3 нужен класс для отправки сообщений в чат. Но к этому классу у него нет доступа. А как я уже сказал дать такой доступ я не могу.

Какую я предлагаю реализацию.
Для получения подобного метода(отправки сообщений в чат) программист #3 просит меня или напрямую обращается к программисту #1 с просьбой сделать данный метод доступным через chat.api, а дальше один в один как API ВКонтакте. Программисту #3 для отправки сообщений в чат достаточно будет выполнить что-то вроде такого:
PHP:
file_get_contents('http://chat.api.game.ru/?method=setMessage&msg=Бой закончен, Вы получили 5 опыта.');

Идея вроде очень хорошая, она полностью решает проблему с тем, что твой проект кто-то украдет так как у каждого программиста будет только та часть кода над которой он действительно работает.

Но здесь есть один минус, это медленный http протокол с которым теперь будет взаимодействовать api.

Какие еще существуют подобные способы организации api кроме http протокола?

Какие вообще варианты разработок крупных проектов существуют?

Например, как устроена организация разработки того же контакта или фейсбука?
 

fin

Новичок
У нас в команде было все устроено немного иначе, может вам поможет:

- есть тимлид, который дает задачи. Есть несколько девелоперов разных рангов, которые пишут требуемый код в свободной форме (есть основные требования, конечно, но на уровне того, какие инструменты использовать). Полученный код тимлид смотрит, проверяет на работоспособность, вливает в проект, немного рефакторит (когда какие-то действия можно заменить какими-то уже готовыми инструментами ядра, не более) и работает с репозиторием. Если выработана дисциплина и тимлид не сходит с ума по коду, читайте может закрыть глаза на другой стиль и качество кода, а сориентироваться на задачу в общем, то такая форма работы вполне успешно себя зарекомендовала.

А разработка api - это разработка разработки для разработок разработчиков. Слишком много "работы", имхо.
 

WMix

герр M:)ller
Партнер клуба
ну существуют же всякие rpc rmi soap wsdl можно делать и программные апи, для доступа яб настроил какойнить svn/git и заставил бы таким образом иметь только копию своей работы в сорцах... и настроить сервер разрабочиков с правами только на свою папку, далее описание апи и права доступа...
может просто добавить еще одного который только соеденители пишет?

можно ужимать остатки в байт код, чтоб могли настраивать у себя дома, очень гуманно !,.. понимая что это прочесть всеже возможно
но и URL тоже неплохая идея...
 

WMix

герр M:)ller
Партнер клуба
PHP:
 file_get_contents('http://chat.api.game.ru/?method=setMessage&msg=Бой закончен, Вы получили 5 опыта.');
прикольная дырка в программе кстати...
 
Сверху