Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Организация разработки крупного проекта через API [2]
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Не понимаю причем тут способ организации api и http-протокол
Ну организуйте хоть на ftp, что от этого изменится? Причем тут вообще протокол если речь идет о принципе модульности
Так или иначе вам придется открыть интерфейсы в виде методов через которые модуль будет получать данные и возвращать результат.
Ну зазендите скрипты, если станет спокойнее
Покинул форум
Сообщений всего: 11
Дата рег-ции: Окт. 2012
Помог: 0 раз(а)
Zuldek пишет:
А зачем разработчику давать возможность загружать модули на боевой сервер? Они пишутся таким образом чтобы их можно было протестировать как модуль, независимо от основного проекта, иначе это уже его неправильная организация изначально.
Конечно вся разработка расположена на отдельном сервере без локального доступа к боевому серверу.
Zuldek пишет:
Если у вас идут инклуды подобного: include somethingwithoutmygamedoesnotwor k.php
Содержащие основную массу всех классов движка то это уже неправильная организация.
Организация проекта здесь не причем, суть вопроса в другом.
Еще раз привожу пример:
Программист #1 пишет целый класс для работы с чатом, например class.chat.php
Программисту #2 нужен один из методов этого класса для выполнение в файле battle_end.php.
Вот тут то и наступает тот критический момент, что для программиста #2 какие бы мы не организовывали интерфейсы и тому прочее все равно в файле battle_end.php так или иначе будет произведен include класса class.chat.php. А так как будет произведен инклуд, то и содержимое файла можно будет запросто получить. (Добавление)
Zuldek пишет:
Не понимаю причем тут способ организации api и http-протокол Не понял
Ну организуйте хоть на ftp, что от этого изменится?
Как я уже писал выше на примере battle_end.php
Если подобный метод делать через API, то мы вроде выполняем все тот же метод класса class.chat.php, но доступа к самому классу не имеем, проще говоря мы не инклудим класс тем самым не получаем доступа к исходному коду класса.
DlTA
Отправлено: 09 Октября, 2012 - 15:08:58
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
можно налабать чет свое
по типу:
$result = call($modulMethod,$propList);
и запичкать этим весь проект,
а в режиме разработки серавно придется делать заглушки, которые будут возвращать рез. при отсутствии соотв. модуля/метода.
и требовать с каждого разраба, клипать загрушки, которые и будут распростроняться повсеместно
Покинул форум
Сообщений всего: 2122
Дата рег-ции: Июнь 2010
Помог: 50 раз(а)
Именно так. Заглушки, ожидаемые результаты работы модуля.
Далее уже собираете и проверяете все модули вместе, как ведущий разработчик. Так все и делается, в случае если не предоставлять доступ ко всем исходникам.
Хотя все это выглядит при разработке проектов на php таким космосом... . Лицензировать проект + письменные соглашения с разработчиками и спокойно работать.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Вообще-то, весь этот вопрос - сугубо юридический. Юридическими методами его и надо решать.
testergame пишет:
или напрямую обращается к программисту #1 с просьбой сделать данный метод
Видите здесь уязвимость и причину бессмысленности всех технических ухищрений?
Во-вторых - вы планируете лично проводить обзор каждого добавленного в код байта?
Ну и, наконец, психология - если вы своих сотрудников держите за врагов, не удивляйтесь, если и они будут отвечать взаимностью.
----- PostgreSQL DBA
tato
Отправлено: 10 Октября, 2012 - 00:36:57
Посетитель
Покинул форум
Сообщений всего: 468
Дата рег-ции: Сент. 2011 Откуда: Владивосток
Помог: 8 раз(а)
testergame пишет:
В данном подходе, что мешает вновь прибывшему программисту просканить и скачать это файл, а за одно и все остальные файлы к которым он по задумке вроде не имеет доступа?
В данном подходе если Вы бы внимательно читали, класс Game лежит на вас и другие не видят работы друг-друга и следовательно не знают имен других классов.
А вместо инклудов можно юзать автолоад кстати.
----- просто ?: сложно
Okula
Отправлено: 10 Октября, 2012 - 07:29:56
Участник
Покинул форум
Сообщений всего: 1389
Дата рег-ции: Окт. 2010
Помог: 42 раз(а)
Почему никто ничего не сказал про интерфейсы?
Например, у тебя есть класс контроллер и интерфейс для классов моделей:
Покинул форум
Сообщений всего: 197
Дата рег-ции: Июнь 2010 Откуда: Оттуда
Помог: 5 раз(а)
Я вот два с половиной года в одиночку писал веб, для одной известной онлайн-игры. И в данный момент - края не видно даже на горизонте хоть веб уже и разросся до 4 серверов.
И меня до недавнего времени мучил тот-же самый вопрос, касательно коллективной разработки. Однако, после того, как я подписал документ об отчуждении прав, получил официальную работу и зарплату, а также NDA и вполне реальную ответственность - проблема была снята, так как аналогичные документы были подписаны и моими новыми помощниками. И теперь я точно знаю - ничего не утечёт никуда, так как никому не охота платить штраф в 3 мегарубля и\или даже "сесть" за кражу интеллектуальной собственности.
А меры подобные описанным здесь - не помогут, увы. Если что-то принципиально можно слить - оно будет слито. Хоть ты за 100500 обсракций выноси свои классы, хоть огораживай фундаментально доступ. И даже если удастся обеспечить достойную защиту на таком уровне, она начнёт неиллюзорно мешать разработке. Знаете притчу про "гнилое ядро"?
Так что я бы вам посоветовал - прежде всего проработать организационные вопросы. Хотите помощников - дайте им достойную зарплату и не менее достойную работу "согласно ТК". Вместе с этим - у них появится и отвественность за свои действия, и в случае чего - вы будете иметь полное право призвать работника к ответственности. Тем более если у вас такой посещаемый проект, то уверен и прибыли более чем достаточно на то, чтобы нанять хотя бы двух человек официально.
----- И чё?
DlTA
Отправлено: 11 Ноября, 2012 - 22:48:23
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
добавлю еще чучуть мысле по поводу реализации,
суть в следующем: каждый разраб, лабая свой модуль при тестировании обращается к остальным модулям не на прямую, а через некую прослойку
так вот эта прослойка в режиме тестирования общается через веб, а вот на на серваке, проводит обращение на прямую, тем самым готовое никто не ковыряет, есть интерфейс и этого достаточно
это кстати хорошо не только для защиты кода, но и для снижения необходимых объемов которые необходимо закачать каждому разрабу на свою машину, и попутно не придется поднимать весь сайт на локалке, чтоб иметь возможность провести достаточное тестирование модуля
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.