|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
ОдинЯ уже кажется писал, что я стараюсь использовать эмпирическое правило трех раз. Если 3 раза делаем одно и тоже, то на четвертый пишем общее решение и по возможности переводим на него первые 3. Это правило еще называется "учиться на своих ошибках". Не думаю, что это хороший совет для тех, кто стоит перед выбором. Со временем начинаешь 7 раз отмеривать, прежде чем что-то воплотить в код. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2006, 17:54 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
iscrafmОбычно потом оказывается, что понадобилось, просто тяжело себе признаться что изначально не продумал :) Это классика. Знаете, когда я начинал свою карьеру, при увольнении со второй работы мне надо было сделать описание всего, чем я занимался. Подходы, решения и т.п. Так получилось, что занимался я многим и, поневоле, мне пришлось просмотреть бОльшую часть кода модулей системы. Я очень хорошо помню свое изумление, когда я в очередной раз натыкался на кусок, который был задуман как универсальный, а реально срабатывал всего один раз. Вот буквально смотрю и вспоминаю жаркие споры как это лучше реализовать, потом написание, ловлю багов и прочее. И все это оказалось напрасным. эх, молодость ... Так что обратную ситуацию (сделал красивую навороченную вещь, а никому не нужно) тоже можно назвать классикой. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2006, 18:08 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
Скорее, это правило называется "задача должна дозреть". Для того, чтобы принимать правильные решения, программист должен обладать некоторой.. эрудицией в той области, в которой он принимает решение. Причем это верно не только на макро-, но и на микроуровне - для того, чтобы сделать хороший справочник, нужно иметь некоторый опыт работы со справочниками. Практически такую эрудицию можно набрать несколькими путями. Основные: - набить те или иные шишки самостоятельно - поработать с чужими решениями и опять же набить о них шишек - попытаться перенести опыт из другой области. Последнее - соблазнительно, но очень спорно. Если забыть об этом, выбор остается практически из двух путей: - как сказал Один , набрать опыт и обобщить его в универсальном решении - создать универсальное решение, набить о него шишки, переделать. Из этих вариантов первый мне более симпатичен. Он дешевле в реализации и лучше с точки зрения конечного результата. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2006, 18:11 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
ОдинТак получилось, что занимался я многим и, поневоле, мне пришлось просмотреть бОльшую часть кода модулей системы. Я очень хорошо помню свое изумление, когда я в очередной раз натыкался на кусок, который был задуман как универсальный, а реально срабатывал всего один раз. Вот буквально смотрю и вспоминаю жаркие споры как это лучше реализовать, потом написание, ловлю багов и прочее. И все это оказалось напрасным. Все зависит от проектирования. Как по мне, то лучше потратить время на доскональное проектирование и потом годами не возвращаться к этой теме, чем постоянно заниматься пересмотром кодов. Видимо все таки недостаточно тщательно выделили универсальные куски. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2006, 18:36 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
softwarer wrote: > А вот это пишет еще один программер, который не умеет писать фреймворки, > > Таких ОЧЕНЬ трудно найти. Особенно тех найти, которые умеет быстро и КАЧЕСТВЕННО писать прикладные части... это да.... > Скажем, если опустить излишние подробности - считанные дни назад меня > убеждали в крутоте следующего подхода: для документа описывается XML с > со списком-типами полей, динамически строится его ввод итп. Добавилось > новое поле - клиенту отправляется новый XML, не надо пересобирать > exe-шник. Согласен, круто. Правда, на вопрос "а как добавить проверку > дата_начала < дата_конца", чтобы ругалась - сказали "ну, наш exe-шник > так не умеет". причем, что показательно в этой ситуации: есть фреймворк, нету - пересобирай исполняемый модуль. Но в случае фреймфорка шансов на пересборку - меньше. А вот для таких весчей - или фреймворк дополнять скриптовым языком (как мы :-) - T-SQL), либо так есть я - который при острой необходимости дополняет функции фреймворка.... -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2006, 18:41 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
iscrafmВсе зависит от проектирования. Как по мне, то лучше потратить время на доскональное проектирование и потом годами не возвращаться к этой теме, чем постоянно заниматься пересмотром кодов. Видимо все таки недостаточно тщательно выделили универсальные куски. С этим не поспоришь. Но это утверждение из серии "надо жить в мире и согласии и чтоб не было войны". Конечно от проектирования зависит. Хотя когда есть 100% понимание того, что надо написать, чаще всего речь об универсальных фреймворках не заходит (если целью не идет создание очередного аналога 1С). lockyлибо так есть я - который при острой необходимости дополняет функции фреймворка.... о чем и речь. Вы стали незаменимым. Для вас это хорошо, для фирмы - нет. Выше я привел пример механизма, который умеет на основании XML генерировать интерфейс ввода. Так вот его основной идеолог и разработчик в один прекрасный день решил уехать в Канаду. И уехал. Уволился по хорошему, все дела передал приемнику. Не скажу что это привело к тому, что все остановилось, но по срокам в двух проектах они пролетели. Понадобилось быстро что-то подкрутить в фреймворке, а не смогли. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2006, 19:07 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
lockyпричем, что показательно в этой ситуации: есть фреймворк, нету - пересобирай исполняемый модуль. Но в случае фреймфорка шансов на пересборку - меньше. Не очень понял логику первой фразы, да и второй тоже. Также я так и не могу понять, чем такое страшное пугало "пересобирать исполняемый модуль". Точнее, стоит отметить, что альтернативные решения, которые я видел, обычно намного хуже. А показательно в этой ситуации то, что последние дни проблемы от этого фреймворка - именно от того, что позиционировалось как его преимущества - сыпятся полными горстями. Так, сегодня обнаружился клиент, который загонял в одно поле текстовые данные, которые надо было разносить по двум разным. lockyА вот для таких весчей - или фреймворк дополнять скриптовым языком Угу. И начинается. В итоге программисты на годы обеспечены интересной работой под названием "написание новой Delphi". Если эта работа окажется доведенной до конца, окажется, что трудоемкость использования этой новой дельфы - больше, чем грамотного использования старой (подчеркну - грамотного). Но более вероятно, что у фирмы заканчиваются деньги, а опытные программисты отправляются на новое место работы. lockyлибо так есть я - который при острой необходимости дополняет функции фреймворка.... Угу. В результате каждое внедрение вместо двух месяцев занимает шесть - потому что внедренцы с четырех проектов стоят в очереди и ждут, когда Вы припишете совершенно необходимые им вещи. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2006, 23:01 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
softwarerУгу. В результате каждое внедрение вместо двух месяцев занимает шесть - потому что внедренцы с четырех проектов стоят в очереди и ждут, когда Вы припишете совершенно необходимые им вещи. не особо разглагольствуя, отмечу, что "вместо двух месяцев занимает шесть" - это как раз проблемы "голой писанины", а если проектов более десятка - то вешалка. И еще непонятно о каких фреймворках Вы говорите. У нас, например , все необходимые вещи написаны в 2001-2003 годах (ради интереса посмотрел исходники) и с тех пор спокойно себе поживают, внедренцы ничего и никого не ждут, на проектах работает 1-2 человека вместо бригады программистов, support отдыхает. В общем ради этого и было потрачено несколько лет. То о чем Вы говорите - не является фреймворком. Это больше похоже на параметризированную среду с определенной направленностью, на которую постоянно пытаются натянуть несвойственные ей задачи. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2006, 23:26 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
iscrafmне особо разглагольствуя, отмечу, что "вместо двух месяцев занимает шесть" - это как раз проблемы "голой писанины", То есть специально подчеркнутый вариант грамотного использования Вы игнорируете. iscrafmУ нас, например , все необходимые вещи написаны в 2001-2003 годах (ради интереса посмотрел исходники) и с тех пор спокойно себе поживают, То есть, у вас, например, не выполняется условие, оговоренное в начале этой ветки обсуждения. iscrafmВ общем ради этого и было потрачено несколько лет. Причем, насколько я помню Ваше предыдущее описание, потрачены после получения опыта, как Вы говорите, "сидения бригад программистов". Или вы сначала писали фреймворк, потом начали придумывать продукт? iscrafmТо о чем Вы говорите - не является фреймворком. Это больше похоже на параметризированную среду с определенной направленностью, на которую постоянно пытаются натянуть несвойственные ей задачи. Хм. Признаться, у меня есть ощущение, что Вы не особо пытались понять, о чем я говорю. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.06.2006, 23:45 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
softwarer То есть специально подчеркнутый вариант грамотного использования Вы игнорируете. Не не игнорируем, поверьте на слово - грамотно используем. Но дальше нашего отдела разработки это выходит. Внедренцам нужно за 10 мин форму сделать или отчет или новую процедуру подключить и т.п., а не грамотно использовать компоненты. Именно в этом различие между двумя понятиями IDE vs FRAMEWORK . softwarer То есть, у вас, например, не выполняется условие, оговоренное в начале этой ветки обсуждения. Не понял, что за условие. честно. :( Такое исключено " напр. нужен дополнительный отчет - для пишем отдельный модуль и перекомпилируем ехешник. нужен новый документ в печати - аналогично... в результате внедрение затягивается на срок от двух до шести месяцев... " softwarer Причем, насколько я помню Ваше предыдущее описание, потрачены после получения опыта, как Вы говорите, "сидения бригад программистов". Или вы сначала писали фреймворк, потом начали придумывать продукт? Нет, фреймворк был спроектирован как результат многолетнего производства коробочных продуктов и исследования предприятий от Мурманска до Владивостока с целью минимизации затрат на разработку, внедрение и поддержания ЖЦ продуктов, разработанных на его основе. Фреймворк и есть тот продукт , о котором Вы говорите. Да, мы на его основе разрабатываем erp решения, но это уже производные. Но все же основная выгода от него именно та, которую Вы отвергаете. Возможно я Вас не понял. softwarer Хм. Признаться, у меня есть ощущение, что Вы не особо пытались понять, о чем я говорю. Помогите, может и правда не пойму. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2006, 00:28 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
p.s. кстати именно этот опыт подсказал, что нельзя вкладывать в фреймворк какие-то сущности прикладного характера, чтобы избавить разработчика от тяжелых раздумий, типа "это журнал или реестр? а может картотека или план счетов... и т.п." Есть набор виджетов которые применяются всегда и везде. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2006, 00:39 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
W357Если система для каждого нового клиента требует изменения кода программы либо изменения структуры БД, то нормальна ли она? Смотря для какого изменения. Если для добавления запятой в форму документа - наверное, ненормальна. Если для дополнения нового типа документа - наверное нормальна. По поводу структуры БД см. EAV. Хотя этот подход стоит использовать, если это действительно нужно. Лично у меня (не так давно, когда сам программировал) правило было простое. Реализую функциональность. Если похожая функциональность нужна во 2-й раз - копирую участок кода. Если в 3-й-4-й раз - добавляю (или расширяю существующую) функцию в библиотеку (IMHO фреймворк - слишком амбициозное слово), заменяю участки кода вызовами функций с соответствующим параметрами и дотошно тестирую модули, в которые вставлял вызовы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2006, 11:35 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
AlexTheRavenдобавляю функцию в библиотеку (IMHO фреймворк - слишком амбициозное слово) Библиотеки - это только 2 уровень фреймворка ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2006, 12:08 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
мод AlexTheRavenдобавляю функцию в библиотеку (IMHO фреймворк - слишком амбициозное слово) Библиотеки - это только 2 уровень фреймворка но 99,9 % всех прикладных приложений. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2006, 12:19 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
AlexTheRavenЕсли похожая функциональность нужна во 2-й раз - копирую участок кода. Если в 3-й-4-й раз - добавляю (или расширяю существующую) функцию в библиотеку (IMHO фреймворк - слишком амбициозное слово), заменяю участки кода вызовами функций с соответствующим параметрами и дотошно тестирую модули, в которые вставлял вызовы. для программиста одиночки - потянет. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2006, 12:22 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
softwarer wrote: > Также я так и не могу понять, чем такое страшное пугало "пересобирать > исполняемый модуль". Точнее, стоит отметить, что альтернативные решения, > которые я видел, обычно намного хуже. ну, если для того, чтобы изменить внещний вид/поведение какой-нить кнопки/поля в отчете мне надо пересобирать исполняемый файл и раздавать его на 150 рабочих мест - это пугало. > А показательно в этой ситуации то, что последние дни проблемы от этого > фреймворка - именно от того, что позиционировалось как его преимущества > - сыпятся полными горстями. Так, сегодня обнаружился клиент, который > загонял в одно поле текстовые данные, которые надо было разносить по > двум разным. И причем тут фреймворк? Вы что, хотите сказать, что в "монолитной" программе коиент всё вбивал бы правильно??? > locky > А вот для таких весчей - или фреймворк дополнять скриптовым языком > > Угу. И начинается. В итоге программисты на годы обеспечены интересной > работой под названием "написание новой Delphi". Если эта работа окажется > доведенной до конца, окажется, что трудоемкость использования этой новой > дельфы - больше, чем грамотного использования старой (подчеркну - > грамотного). Но более вероятно, что у фирмы заканчиваются деньги, а > опытные программисты отправляются на новое место работы. Опытные программисти используют то, что до них написали другие опытные программисти. тот же паскаль (вот забыл, как он там - реализация интерпретатора паскаля на OP). У нас вообще юзается обрезанная версия жестко ограниченного строкового языка без базиса дейкстры. > locky > либо так есть я - который при острой необходимости > дополняет функции фреймворка.... > > Угу. В результате каждое внедрение вместо двух месяцев занимает шесть - > потому что внедренцы с четырех проектов стоят в очереди и ждут, когда Вы > припишете совершенно необходимые им вещи. да-да-да! или они ждут, пока дюжина других прогеров реализует необходим функционал, протестит и сдаст им. те же, только в профиль. но в 99% случаев с фреймворком - прикладники реализуют функционал имеющимися средствами. Мы ведь тоже не пальцем деланые, и фреймворк покрывает все случившиеся на текущий момент случаи. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2006, 13:30 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
locky ну, если для того, чтобы изменить внещний вид/поведение какой-нить кнопки/поля в отчете мне надо пересобирать исполняемый файл и раздавать его на 150 рабочих мест - это пугало. достаточно написать "загрузчик последней версии" один раз на все времена. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2006, 13:35 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
iscrafm<...>для программиста одиночки - потянет. Согласен. При индивидуальном программировании приходится ко всему подходить просто и прагматично. Нет команды в сотню человек, которая потенциально может написать ОС за полгода. Нет амбиций ведущего программиста написать компиллятор ("что ни пишу, получается..."). Нет десятка проектировщиков, исправно выстраивающих сеть классов, в которой могут разобраться только они сами... А есть желание скорее решить задачу и получить деньги. И при этом решить следующую задачу ещё скорее, а получть за неё ещё больше. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2006, 15:16 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
Petro123 wrote: > ну, если для того, чтобы изменить внещний вид/поведение какой-нить > кнопки/поля в отчете мне надо пересобирать исполняемый файл *и раздавать > его на 150 рабочих мест* - это пугало. > > достаточно написать "загрузчик последней версии" один раз на все времена. .... а затем посмотреть, как под терминалом себя будет чуЙствовать юзер, который запускает загрузчик, который пытается скопировать последнюю версию, в то время как текущую версию юзает еще полсотни юзеров - и всё ради того, чтобы в его, "личном"(пользователя) (и больше никому не нужном) отчете изменилась какая-нито лабель.... зы автообновление модулей - ну, это святое и есть вроде как у всех. Унас - так точно есть. -- ------------------------- There's no silver bullet! Posted via ActualForum NNTP Server 1.3 ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2006, 19:46 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
AlexTheRaven Согласен. При индивидуальном программировании приходится ко всему подходить просто и прагматично. Нет команды в сотню человек, которая потенциально может написать ОС за полгода. Нет амбиций ведущего программиста написать компиллятор ("что ни пишу, получается..."). Нет десятка проектировщиков, исправно выстраивающих сеть классов, в которой могут разобраться только они сами... А есть желание скорее решить задачу и получить деньги. И при этом решить следующую задачу ещё скорее, а получть за неё ещё больше. что самое интересное - именно исходя из таких посылок используют фреймворки :) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.06.2006, 20:40 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
Petro123но 99,9 % всех прикладных приложений. речь шла не о приложениях, а о структуре фреимворка, куда, помимо библиотек стандартных функций, входит еще много чего. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2006, 09:48 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
locky > достаточно написать "загрузчик последней версии" один раз на все времена. .... а затем посмотреть, как под терминалом себя будет чуЙствовать юзер, который запускает загрузчик, который пытается скопировать последнюю версию, в то время как текущую версию юзает еще полсотни юзеров - и всё ради того, чтобы в его, "личном"(пользователя) (и больше никому не нужном) отчете изменилась какая-нито лабель.... зы автообновление модулей - ну, это святое и есть вроде как у всех. Унас - так точно есть. разумеется не следует смешивать понятия "смены версии проги" и "смены версии отчёта". - всё зависит от требований ТЗ заказчика, и ограничений на которые он может пойти. - Одним нужна зимняя коляска, другим трансформер .... :) - Одним нужно летнее масло, и он сливает его каждый сезон, дргим всесезонка .... :) ================ Разработка "умного" приложения с "самообновляемыми кнопками" чревата недостатками. Обычно команда разработчиков для ПаровозоРакетоМобиляОтчётов.exe не умеет писать "просто" Паровоз.exe и просто Кофемолка.exe . И наоборот. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2006, 11:23 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
iscrafm что самое интересное - именно исходя из таких посылок используют фреймворки :) Я же не говорю, что не нужно делать фреймворки. Просто перед тем, как включать что-то во фреймворк, нужно 10 раз подумать: а сколько в жизни раз это понадобится :) ? Чем больше фреймворк - тем сложнее его изучать, вспоминать и поддерживать. Особенно если он плохой, и нужно знать большую его часть, чтобы использовать какую-нибудь маленькую функцию. ... |
|||
:
Нравится:
Не нравится:
|
|||
16.06.2006, 15:16 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
Пока вы тут из пустого в порожнее переливаете, некая компания доделывает .net framework 3.0... Вот всем фрэймворкам фрэймворк, в котором есть все: wpf, wcf, wf, CardSpace. Смерть всему живому, короче. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2006, 13:03 |
|
Нормальна ли система?
|
|||
---|---|---|---|
#18+
netчикПока вы тут из пустого в порожнее переливаете, некая компания доделывает .net framework 3.0... Вот всем фрэймворкам фрэймворк, в котором есть все: wpf, wcf, wf, CardSpace. Смерть всему живому, короче. Ага, поздравляю. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.07.2006, 14:09 |
|
|
start [/forum/topic.php?fid=33&msg=33835631&tid=1549358]: |
0ms |
get settings: |
9ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
187ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
61ms |
get tp. blocked users: |
1ms |
others: | 279ms |
total: | 571ms |
0 / 0 |