Приглашаются люди знающие 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, дизайнеры верстальщики, зарплата и т.д.
программисты 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 нет, достаточно знать основные возможности языка, а из ООП как создавать объекты, вызывать методы, использовать свойства и т.п.
Например есть задачи с готовым набор классов заглушек, эти классы полностью содержат необходимые метаданные но не содержат реализацию и не проходят юнит-тесты. Задача заключается в написании реализации методов не касаясь структуры классов, по завершению задания все юнит-тесты должны выполняться.
Но особых требований к знаниям 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 шаблоном и будет ли оно взаимодествовать вообще.
Что будет решать какие названия будут у полей ввода или кнопок ,что и как он будет делать со скрытыми полями если таковые будут.
Можете озвучить ,что конкретнее представляет?
Collection<Message>
Collection<Comment>
Как и в каком виде представляется взаимодействие с динамическим HTM,JS,CSS?
Напимер для появления\исчезания форм ,js кода ,кнопок их названий в зависимости от прав
пользователя,например модератор,зарегеный или гость.
Как это все будет взаимодействовать с HTML шаблоном и будет ли оно взаимодествовать вообще.
Что будет решать какие названия будут у полей ввода или кнопок ,что и как он будет делать со скрытыми полями если таковые будут.
Спустя 5 часов, 32 минуты, 54 секунды (31.10.2011 - 04:10) a.gordeyev написал(а):
Collection<Type> это класс "дженерик" коллекции наследуемый от ArrayObject и содержащий набор однотипных элементов заданного типа. Я его так записал для наглядности, в самом коде он будет писаться как Collection.
Кнопки, их названия, скрытые поля и прочий HTM определяется в шаблонах компонентов. Появление\исчезновение форм определяется параметрами переданными компоненту, среди которых есть и группы пользователя, поэтому представление компонента для модератора, пользователя и гостя будет различным.
Это всё делает битрикс. А классы модуля реализацию которых нужно делать, это то, что используется в контроллерах компонентов при формировании данных для его шаблона и при обработке данных поступивших от пользователя.
$list = new Collection(Message);CSS определяются в файлах стилей шаблонов сайта и компонентов. HTM и JS описаны в шаблонах компонентов и кешируются в зависимости от параметров переданных компоненту, содержащих в том числе и группы к которым относится пользователь. При отсутствии кешированного HTM для переданных параметров, он формируется на основе шаблона компонента и контроллера компонента в котором и определяется что нужно вывести в зависимости от переданных параметров.
$list.Add(new Message);
$list.Add(new Comment); //Exception "Неправильный тип добавляемого элемента"
Кнопки, их названия, скрытые поля и прочий HTM определяется в шаблонах компонентов. Появление\исчезновение форм определяется параметрами переданными компоненту, среди которых есть и группы пользователя, поэтому представление компонента для модератора, пользователя и гостя будет различным.
Это всё делает битрикс. А классы модуля реализацию которых нужно делать, это то, что используется в контроллерах компонентов при формировании данных для его шаблона и при обработке данных поступивших от пользователя.