Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   дописывать готовое. или писать новое? (почти флейм :)) (http://forum.oszone.net/showthread.php?t=137598)

mar 13-04-2009 21:05 1093129

дописывать готовое. или писать новое? (почти флейм :))
 
А вот у меня такой вопрос:
есть на свете такое приложение, колторое ставится модулем либо под
cms drupal, либо под Joomla. Приложение зовется civicrm, но вопрос скорей более общего характера, хотя, если кто-то работал с этой штукой, было бы интересно выслушать.

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

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

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

Мои соображения:
плюсы и минусы дописывания:
1 +) в готовом движке сообщество, его поддерживающее затыкает дыры и пишет новые может быть очень-очень нужные примочки.
1 -) если начать сильно все курочить, то не факт, что удастся использовать обновления материнских движков.
1 -) для того, чтобы все обновлять все равно нужен админ. Но для того, чтобы обновлять изменяемое приложение, это, скорей всего, должен быть программист

2+) Но можно предложить все «новые фичи» и «новую логику» сообществу и тогда новый код войдет в программу и будет поддерживаться всеми
2-) А если нет? Заранее это точно не оговорить.

3+) Поддержка со стороны «нового программиста» приложения, сделанного на основе готовых cms проще, т.к. не надо вникать в написаныне кем-то программы
3-) Это справедливо только для гуру drupal и joomla, а человеку постороннему наоборот, придется влезать в гораздо большее количество кода, т.к. движки для сайтов сильно избыточны по сравнению с требованиями к приложению
3-) А вот в то, чего нету в готовом приложении, придется влезать любому «новому программисту», и если требуется совсем иная логика, то этого, того, чего нет в готовом, будет немало

Что вы думаете по поводу моих пунктов и что бы сами добавили в +/- (особенно хотелось бы выслушать мнение тех, кто работал с drupal, или joomla, добавляя какой-нибудь функционал. Ну, и вдруг кто-то работал с civicrm, тоже бы послушала с удовольствием)

Да, у этих граждан есть запасной вариант – http://organizersdb.org/, но там вообще win-локальный, или интранет-вариант, а общие проблемы те же – людям хочется несколько иной функционал.

update:
Собственно, людям требуется учети-контроль, нечто вроде АСУ/ERP, только не для коммерческих предприятий, так что бОльшая часть наворотов собственно drupal, или Joomla использоваться вообще не должны (это совсем не сайт :))

еще, пожалуй, update: а если представить себя на месте программиста, которому достался код на поддержку (будем исходить из того, что код вменяемый и документированный), что было бы проще поддерживать: написанное с нуля, или сделанное на основе готового модуля и готовой cms, но сильно перелопаченное и дописанное?

proxy 13-04-2009 21:27 1093154

1. если писать руками и хотя бы нормально с комментами (хотя бы в среднем кооличестве) - то любой программист разберется.

2. не знаю на сколько сложна/просто в понимании друпал, но сам работал с джомалой, имхо, считаю для нее, не так сложно разработать модуль/мамбот.
нормальному программеру 0,5-1 день на знакомство, далее с форумом и любым тестовым сайтом cms-ки в обнимку - все напишет.

3. если хоть что то более менее серьезное будет добавленно - то все равно для обновления / исправления понадобиться программист.

4. хз, как о готовом решение в вашем случае (все зависит от ТЗ, времени и $), но пример таже Друпал или Джомала.
что бы на ней сделать нормальный сат (не шаблонный) - в любом случае нужен знаток php. Имхо - программер понадобится зараниее.

5. имхо, за бесплатно не взялся бы переделывать/править cms варианты, лучшы с нуля. так как это сплошное и постоянное исправление и поиск наилучшего/работающего приема/решения.

6. повторю еще раз - главное писать более менее граматно и любой программер разбрется. пример та же Друпал/Джомала - другие же люди разбираются, и не так это сложно, верно? )))

7. имхо, разработать вместе с желающими окончательный ТЗ. и по ситуации решить: с нуля / или доработки.
все конечно тривиально: от человека-часов + возможность будущего развития проектов.

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

mar 13-04-2009 21:40 1093178

proxy,
спасибо большое. Я там выше добавила апдейт - собственно, людям требуется учети-контроль, нечто вроде АСУ/ERP, только не для коммерческих предприятий, так что бОльшая часть наворотов собственно drupal, или Joomla использоваться вообще не должны (это совсем не сайт :))

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

proxy 13-04-2009 21:55 1093200

Имхо из моей не большой практики:
более 80% клиентов не представляют что же будет в итоге и только при составление ТЗ проясняется картина (это по поводу мини софта).

И тут 50 на 50, в одном варианте выясняется, что на самом деле требуется все намного проще, а вдругом варианте ТЗ получется
очень внушительное ))

Более 50% клиентов уверяют, что ни чего дописывать/доедлывать/переделывать после пост отладки/тестов не придется.
Но все равно появляется что нить )))

Как понимаю необходима система управления проектами?
В целом это не мелкая штука, тут все равно придется что то обновлять/доделывать.
Работать с нуля или "ебольшом ядре, проектируя приложение под ТЗ и испотльзуя накопившиеся наработки," будет удобней (для текущей работы программера и уж будущей тем более) и лучше!

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

+ CMS, на мой взгляд, немного снизит производительность сайта.
+ интересно посмотреть в сторону AJAX,...хотя тут думаю не возникнет сложностей вместе с CMS.

mar 13-04-2009 23:23 1093296

proxy,
еще, пожалуй, update: а если представить себя на месте программиста, которому достался код на поддержку (будем исходить из того, что код вменяемый и документированный), что было бы проще поддерживать: написанное с нуля, или сделанное на основе готового модуля, но сильно перелопаченное и дописанное?

proxy 14-04-2009 00:02 1093331

В принципе почти одинаково, имхо, как это себе представляю, но думаю на опыте все равно будет по разному - куууча факторов и т.д.))
Только "сильно перелопаченное и дописанное" опять же будет упираться в модель/архитектуру оригинала, к тому же если это CMS.

Пример: если сталкивались/копались в модулях джомалы (или других CMS), помимо алгоритма/модели/архитекруты/принципа самого модуля:
что где прописанно, что откуда вызывается, какие куда данные передаются и т.д. + стилистика кода (не забуду DatsoGallery, уж больно её автор
спешил) - ко всему этому накладываются требования самой CMS - как правильно вызвать приложение, отправить данные, подогнать под ЧПУ данной
CMS и т.д. мелочи. Т.е. время на разработку немного увеличивается + мини встречи с невозможность прямой реализации задуманного,
а только через различные обходные пути. Хоть это вполне и закономерно, и ожидаемо, - так как "это часть общей конструкции".

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

(кстати, при разработки под CMS, практически любое нововведение, или изминение (не правка кнопочки а, к примеру добавка модуля) - это подгонка
одного-нескольких исполняемых файлов, как модуля, так и CMS (повторю: если сайт имеет индивидуальный дизайн, а не плоску шаблонность))

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

CMS хороша своими модулями, что то нужно большое - скачал или сам решил написать - запасся терпением и немного мата и сделал дополнение на сайт.
Минус: иногда по какой нить мелочи приходится перелопачивать горы файлов ))

Проекта с нуля - тут главное не просчитаься и делать на уровне "выполнение задачи/гибкость проекта" - т.е. оставлять возможности для дополнения/изминения.
Тогда в будущем все правиться/дополняться будет легче. А когда проект выростет и станет внушительным, скорее всего работа с ним станет очень схожа с CMS.
Но лучше, так как опять же - он будет более целостен, тут уж как ни крути.......хотя.....

Опять же - это только мое мнение, по моему опыту. т.е. 1% из 100%
Для интереса зайдите на Друпал/Джомала форумы и поспрашивайте там.

dima1981 18-04-2009 10:15 1097350

mar, этот проект перерос в направление когда вы им занялись, только это требует времени и труда и jumla отдыхает oszonovskaya cms получилась :oszone:


Время: 00:47.

Время: 00:47.
© OSzone.net 2001-