[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Приглашаю в проект на PHP
a.gordeyev
Здравствуйте!

Приглашаются люди знающие PHP, для участия в работе над движком сайта, пример задачи можно посмотреть здесь http://goo.gl/d3oKk

Заинтересовавшихся прошу написать мне письмо на почту 0926@gnupot.com



Спустя 1 минута, 57 секунд (30.10.2011 - 14:05) vital написал(а):
drupal.org

Спустя 2 минуты, 17 секунд (30.10.2011 - 14:07) Игорь_Vasinsky написал(а):
Может стоит описать задачу более предметно?
программисты JS, PHP, дизайнеры верстальщики, зарплата и т.д.

Спустя 27 минут, 46 секунд (30.10.2011 - 14:35) a.gordeyev написал(а):
Нужны только программисты PHP, всем заинтересовавшимся я течении недели вышлю список заданий похожих на пример приведённый выше, из списка можно выбрать наиболее понравившиеся, за которые программист готов взяться, ему нужно будет их оценить по времени и стоимости.

По результатам ответов будет определен план проекта и соответствующим людям назначены задачи в соответствии с их выбором и оценкой.

Оплата производится по результатам выполнения, но размер оплачиваемого этапа согласовывается вместе с исполнителем.

Спустя 22 минуты, 47 секунд (30.10.2011 - 14:58) Игорь_Vasinsky написал(а):
Именно знания ООП важны?

Спустя 29 минут, 58 секунд (30.10.2011 - 15:28) a.gordeyev написал(а):
Со знаниями ООП можно выполнить более общую задачу.

Но особых требований к знаниям PHP нет, достаточно знать основные возможности языка, а из ООП как создавать объекты, вызывать методы, использовать свойства и т.п.

Например есть задачи с готовым набор классов заглушек, эти классы полностью содержат необходимые метаданные но не содержат реализацию и не проходят юнит-тесты. Задача заключается в написании реализации методов не касаясь структуры классов, по завершению задания все юнит-тесты должны выполняться.

Спустя 3 минуты, 14 секунд (30.10.2011 - 15:31) caballero написал(а):
как то странно разрабатывать отдельные куски не понимая сути и архитектуры проекта в целом

и при чем тут Битрикс?

Спустя 15 минут, 7 секунд (30.10.2011 - 15:46) a.gordeyev написал(а):
Сайт работает на основе Битрикс. Компоненты и сервисы используют модуль, в модуле используются классы API системы. Задачи проекта заключаются в написании частей этого модуля.

Уточните пожалуйста, что Вам необходимо для понимания сути и архитектуры?

Спустя 4 минуты, 17 секунд (30.10.2011 - 15:50) Игорь_Vasinsky написал(а):
Цитата
Со знаниями ООП можно выполнить более общую задачу.

да. с этим аргументом не поспоришь.

Спустя 6 минут, 17 секунд (30.10.2011 - 15:57) caballero написал(а):
Цитата
Уточните пожалуйста, что Вам необходимо для понимания сути и архитектуры?


Ну, скажем назначение проекта, какой функционал будет обеспечивать. Какае назначение проекта. Под словом движок можно подразумевать что угодно.

А без понимания архитектуры как человек будет имплементить функционал, он даже не будет знать с какими бизнес данными он будет взаимодействовать , где эти данные находятся какая структура и так далее.
То же самое - связь междумодулями и их взаимодействие.

Если инфраструктура строится на битриксе так надо сразу в требования это писать не просто знание PHP и ООП а знание основ битрикса

Спустя 1 минута, 3 секунды (30.10.2011 - 15:58) caballero написал(а):
Цитата
да. с этим аргументом не поспоришь.

точнее нет смысла работать с тем кто выдает такие "аргументы".

Спустя 36 минут, 39 секунд (30.10.2011 - 16:34) a.gordeyev написал(а):
Цитата
да. с этим аргументом не поспоришь.

Уточню, что имелось в виду под более общими задачами:
Общая: есть набор требований (то что содержится в первой части описания тестовой задачи), нужно написать классы реализующие необходимый функционал.
Более конкретизированная: Есть класс с определенной структурой, нужно написать реализацию методов. При этом отнюдь не значит, что вторая задача проще.

Цитата
А  без  понимания   архитектуры  как   человек  будет  имплементить  функционал, он  даже  не  будет  знать  с  какими  бизнес  данными  он  будет  взаимодействовать  , где   эти  данные  находятся   какая  структура  и  так  далее.
  То же  самое  - связь междумодулями  и  их  взаимодействие.

Выполнение задач проекта не зависит от бизнес данных, например задача из примера это набор сообщений пользователей объединенных в группу, для её реализации у программиста есть все данные, чтобы. написать код добавляющий, удаляющий, изменяющий сообщения, блоги, комментарии.

Знать структура БД для программиста выполняющего эту задачу также нет необходимости, напрямую работать с БД нельзя, нужно использовать классы API системы.

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


Цитата
Если  инфраструктура   строится  на  битриксе  так  надо  сразу  в  требования   это писать не   просто  знание  PHP и ООП а  знание  основ   битрикса

Знание основ битрикса это как минимум знание его архитектуры, принципы работы компонентов, шаблонов, модулей. В данном же случае достаточно прочитать в документации про используемый класс битрикса, какие у него есть методы, свойства и использоваться их.

Спустя 9 минут, 4 секунды (30.10.2011 - 16:44) Игорь_Vasinsky написал(а):
Оперируешь вполне грамотными и внятными выражениями, для чего тебе исполнитель?

Спустя 8 минут, 50 секунд (30.10.2011 - 16:52) caballero написал(а):
Цитата
Выполнение задач проекта не зависит от бизнес данных, например задача из примера это набор сообщений пользователей объединенных в группу, для её реализации у программиста есть все данные, чтобы. написать код добавляющий, удаляющий, изменяющий сообщения, блоги, комментарии.


То есть он будет это писать не понимаю что такое вообще сообщение, блог и прочее. То есть не понимая структуры данных, атрибутов сущностей и т.д. Лихо, особенно с учетом того что PHP нетипизированный язык.

Цитата
Знание основ битрикса это как минимум знание его архитектуры, принципы работы компонентов, шаблонов, модулей. В данном же случае достаточно прочитать в документации про используемый класс битрикса, какие у него есть методы, свойства и использоваться их.


Если бы на все случаи жизни находился класс с готовым функционалом то изучать любую CMS было бы как два пальца об стол.

И зачем вообще писать какие то классы если все уже есть в API битрикса.




Спустя 9 минут, 25 секунд (30.10.2011 - 17:02) a.gordeyev написал(а):
Цитата
Оперируешь вполне грамотными и внятными выражениями, для чего тебе исполнитель?

Я делаю сайты под заказ на Битриксе, сейчас очень большая нагрузка и появилась возможность передать часть задач по этому сайту. Но это работа скорее для начинающих php программистов, которые еще не делают полностью сайты, потому что структура сайта и функциональность уже определены, практически не осталось задач по архитектуре, в основном нужно писать реализацию классов в модуле.

Спустя 2 минуты, 48 секунд (30.10.2011 - 17:05) Игорь_Vasinsky написал(а):
Да ну.. как начинающий программист будет бороться с ООП, тем более на битриксе?
тут скорее задачи для профи.

Спустя 18 минут, 6 секунд (30.10.2011 - 17:23) a.gordeyev написал(а):
Цитата
То есть он будет это писать не понимаю что такое вообще сообщение, блог и прочее. То есть не понимая структуры данных, атрибутов сущностей и т.д. Лихо, особенно с учетом того что PHP нетипизированный язык.

Он должен из описания:

Понять, что Блог объединяет коллекцию Сообщений, а сообщения объединяют коллекцию Комментариев, и комментарии тоже могут содержать Комментарии. У каждого из этих объектов набор свойств согласно ТЗ.

И написать методы добавляющие свойства объектам и сохраняющие, извлекающие, изменяющие эти объекты использую API системы плюс некоторую логику согласно ТЗ.

Цитата

Если бы на все случаи жизни находился класс с готовым функционалом то изучать любую CMS было бы как два пальца об стол.

И зачем вообще писать какие то классы если все уже есть в API битрикса.

Для того что не сделать стандартными методами и приходится писать свою бизнес-логику в довесок к системным возможностям, а классы нужно писать, чтобы объединить всю эту дополнительную бизнес-логику, и не пришлось писать дублирующий код в разных компонентах и при необходимости также везде его менять. А уже в компонентах можно использовать возможности модуля.

Спустя 6 минут, 26 секунд (30.10.2011 - 17:29) a.gordeyev написал(а):
Цитата (Игорь_Vasinsky @ 30.10.2011 - 14:05)
Да ну.. как начинающий программист будет бороться с ООП, тем более на битриксе?
тут скорее задачи для профи.

Да, Вы правы, мне нужно подумать над тем как проще изложить, что нужно делать, со стороны может выглядеть запутаннее чем есть на самом деле.

Спустя 23 секунды (30.10.2011 - 17:29) caballero написал(а):
Цитата
Для того что не сделать стандартными методами и приходится писать свою бизнес-логику в довесок к системным возможностям, а классы нужно писать, чтобы объединить всю эту дополнительную бизнес-логику,


Если речь о дополнительной бизнес логике значит это дописывание API и структуры БД.
Вы серьезно верите что можно взять готовое апи и путем наворачивания врапперов сверху реализовать что хочешь.
Вы когда нибудь делали какой нибудь проект?
Звучит как у теоретика а не практика
Возмем готовое апи навернем сверху классы объединим и получим новый функционал
напишем юнит тесты и все будет тип-топ. Главное программисту сидеть и складывать результаты API функций в массивы не углубляясь за пределы фугнкций своего класса.

Спустя 1 минута, 48 секунд (30.10.2011 - 17:31) caballero написал(а):
Цитата
Да, Вы правы, мне нужно подумать над тем как проще изложить, что нужно делать, со стороны может выглядеть запутаннее чем есть на самом деле.


Скорее наоборот - на самом деле все на порядок сложнее чем у вас звучит

Спустя 1 час, 2 минуты, 37 секунд (30.10.2011 - 18:34) a.gordeyev написал(а):
Цитата
Если речь о дополнительной бизнес логике значит это дописывание API и структуры БД.

А что тогда Вы подразумеваете под дописыванием API, если это не то же, что мне нужно реализовать в классах модуля?

Цитата
Возмем готовое апи навернем сверху классы объединим и получим новый функционал

Структуру базы не нужно менять, необходимые свойства можно добавить через стандартный API, и чтобы не дублировать обработку по компонентам делать всё в методах классов, обрабатывая свойства так как стандартный API не умеет.

Спустя 4 часа, 3 минуты, 15 секунд (30.10.2011 - 22:37) bodja написал(а):
a.gordeyev
Можете озвучить ,что конкретнее представляет?
Collection<Message>
Collection<Comment>
Как и в каком виде представляется взаимодействие с динамическим HTM,JS,CSS?
Напимер для появления\исчезания форм ,js кода ,кнопок их названий в зависимости от прав
пользователя,например модератор,зарегеный или гость.
Как это все будет взаимодействовать с HTML шаблоном и будет ли оно взаимодествовать вообще.
Что будет решать какие названия будут у полей ввода или кнопок ,что и как он будет делать со скрытыми полями если таковые будут.

Спустя 5 часов, 32 минуты, 54 секунды (31.10.2011 - 04:10) a.gordeyev написал(а):
Collection<Type> это класс "дженерик" коллекции наследуемый от ArrayObject и содержащий набор однотипных элементов заданного типа. Я его так записал для наглядности, в самом коде он будет писаться как Collection.
$list = new Collection(Message);
$list.Add(new Message);
$list.Add(new Comment); //Exception "Неправильный тип добавляемого элемента"
CSS определяются в файлах стилей шаблонов сайта и компонентов. HTM и JS описаны в шаблонах компонентов и кешируются в зависимости от параметров переданных компоненту, содержащих в том числе и группы к которым относится пользователь. При отсутствии кешированного HTM для переданных параметров, он формируется на основе шаблона компонента и контроллера компонента в котором и определяется что нужно вывести в зависимости от переданных параметров.

Кнопки, их названия, скрытые поля и прочий HTM определяется в шаблонах компонентов. Появление\исчезновение форм определяется параметрами переданными компоненту, среди которых есть и группы пользователя, поэтому представление компонента для модератора, пользователя и гостя будет различным.

Это всё делает битрикс. А классы модуля реализацию которых нужно делать, это то, что используется в контроллерах компонентов при формировании данных для его шаблона и при обработке данных поступивших от пользователя.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.