|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
kmawГородить какую-то "ООП" поверх РСУБД, мое личное мнение, не даст прироста эффективности разработки (бросьте в меня помидор): Вот и я к чему веду. Этот фреймворк позволяет легко автоматизировать простые задачи... но при любом более-менее сложном случае мы упремся в те или иные ограничения фреймворка, и работа по его адаптации многократно съест все его преимущества. Оно автоматом генерирует процедуры на вставку/удаление/обновление, а также вьюхи? Отлично. А что делать, если сгенерированная автоматом структура впадает в клинч на имеющихся данных, т.к. нужно править планы запросов и делать индексы? А кто целостность данных там будет гарантировать? А где расширенную бизнес-логику писать? В объектах - низзя, оно ж их перегенерирует. Снаружи? Тогда в чем смысл такого "ООП"? А документирование этого добра? Ведь мы могли бы иметь схему БД в каком-нибудь PowerDesigner'e, которая сама по себе является наглядной документацией, и отличным инструментом для сопровождения базы. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 17:14 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
kmawГородить какую-то "ООП" поверх РСУБД, мое личное мнение, не даст прироста эффективности разработки (бросьте в меня помидор) за что бросать помидорами? Правильно сказали. p.s. есть разные подходы к проектированию и разработке в целом. Часто приходится общаться с разработчиками на тему каких-то хитрых алгоритмов ловли и индикации ошибок. На что я обычно говорю: вместо выдачи на гора километров кода сделайте так, чтобы пользователь не допускал ошибок. Например, не нужно, образно, давать пользователю на выбор для указания размерности товара возможность выбора единицы веса, а потом писать километры проверок и множество сообщений об ошибках. Сделайте так, чтобы их не было. Так же и здесь. Нужно придумывать не возможности для более простого кодирования, а придумывать способы его сокращения. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 17:20 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
ДжекНепотрошительkmawГородить какую-то "ООП" поверх РСУБД, мое личное мнение, не даст прироста эффективности разработки (бросьте в меня помидор): Вот и я к чему веду. Этот фреймворк позволяет легко автоматизировать простые задачи... но при любом более-менее сложном случае мы упремся в те или иные ограничения фреймворка, и работа по его адаптации многократно съест все его преимущества. Оно автоматом генерирует процедуры на вставку/удаление/обновление, а также вьюхи? Отлично. А что делать, если сгенерированная автоматом структура впадает в клинч на имеющихся данных, т.к. нужно править планы запросов и делать индексы? А кто целостность данных там будет гарантировать? А где расширенную бизнес-логику писать? В объектах - низзя, оно ж их перегенерирует. Снаружи? Тогда в чем смысл такого "ООП"? А документирование этого добра? Ведь мы могли бы иметь схему БД в каком-нибудь PowerDesigner'e, которая сама по себе является наглядной документацией, и отличным инструментом для сопровождения базы. Один мой знакомый сделал то же самое в PowerDesigner. Сущности оформлял в виде классов, а код генерировал на VB. Я еще раз повторюсь, что дело не в инструменте, а в наличии мозгов. Если есть мозги, то можно весь код ручками сделать, а если мозгов нет, то и Visual Studio не поможет. По поводу жесткости фреймворка. Во-первых я могу его использовать, а могу и не использовать, то есть писать ручками. Конечный результат от этого не меняется. Во-вторых у меня всегда есть возможность ручной правки кода поверх сгенерированного на всякий особый случай. Я ж говорю, если не хватает мозгов и опыта, то инструмент то тут при чём? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 17:42 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
iscrafmOld Nickпропущено... Полгода назад взял подработку. Сделал АРМ для инвентаризации на основе RFID меток. Задача была спроектирована до меня. Естественно как у всех. Времени было всего 20 дней, некогда было применять свои плюшки. Любой чих приходилось многократно прописывать. Больше за такое не возьмусь у вас было целых 20 дней, для того, чтобы сделать один АРМ инвентаризации. И при этом некогда было "применять свои плюшки". Где тогда описываемое увеличение производительности? Проблема была в том, что не я один работал надо проектом. Была еще команда, которая писала код для терминала сбора данных. И чтобы поменять структуру таблиц на ООП стиль, пришлось бы согласовывать с ними. Я по опыту я знаю, что даже несколько лет недостаточно, чтобы люди поняли что такое ООП и как его применять. Вот даже тут на форуме пока еще никто не понял :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 17:45 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Old NickЯ по опыту я знаю, что даже несколько лет недостаточно, чтобы люди поняли что такое ООП и как его применять. Вот даже тут на форуме пока еще никто не понял :-) точно уверены что никто не понял что такое ООП? После таких высказываний нить серьезного разговора теряется. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 17:49 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Большинство программистов имя в руках объектно-ориентированный язык не могут объектно-ориентированно проектировать и программировать. Я могу программировать объектно-ориентированно на любом языке программирования, даже на необъектно-ориентированных языках, таких как T-SQL или FoxPro 2.5 или любом процедурном. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 17:51 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
iscrafmOld NickЯ по опыту я знаю, что даже несколько лет недостаточно, чтобы люди поняли что такое ООП и как его применять. Вот даже тут на форуме пока еще никто не понял :-) точно уверены что никто не понял что такое ООП? После таких высказываний нить серьезного разговора теряется. А с кем тут серьёзно то разговаривать? :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 17:51 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Old NickПричем здесь фреймворк? У меня нет фреймворка. Или ООП это фреймворк?ООП - это подход, а ваша поделка (exec Class, exec Field, exec Compile и т.п) - это фреймворк. Можете заглянуть на википедию - там определение слова фреймворк написано. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 17:51 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Bogdanov AndreyOld NickПричем здесь фреймворк? У меня нет фреймворка. Или ООП это фреймворк?ООП - это подход, а ваша поделка (exec Class, exec Field, exec Compile и т.п) - это фреймворк. Можете заглянуть на википедию - там определение слова фреймворк написано. Еще раз поясню для особо талантливых. Я могу сделать то же самое ни разу не написав exec Class ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 17:52 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Old Nickiscrafmпропущено... точно уверены что никто не понял что такое ООП? После таких высказываний нить серьезного разговора теряется. А с кем тут серьёзно то разговаривать? :-) понятно. Вы форумом ошиблись. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 17:54 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Old NickЕще раз поясню для особо талантливых. Я могу сделать то же самое ни разу не написав exec ClassДля особо непонятливых я дал ссылку на вики. Но если вы не хотите называть свою поделку фреймворком - это ваше дело. Фреймворк мог бы быть единственным ценным, что вы могли бы предложить здешней общественности. Но если у вас даже фреймворка нет, то говорить вообще не о чем. Просто мысль "а давайте работать эффективно" никакой ценности не представляет и обсуждать ее бессмысленно. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 17:59 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Old NickЯ могу программировать объектно-ориентированно на любом языке программирования, даже на необъектно-ориентированных языках, таких как T-SQL или FoxPro 2.5 или любом процедурном. ОК, мы это поняли. И какова ценность всего этого? В чем преимущество объектно-ориентированного подхода к работе с СУБД? ООП - это средство более удобной организации кода для построения сложных приложений. Это единственный смысл существования ООП. Если упрощения не наблюдается, оно становится вещью в себе. Где здесь упрощение? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 18:10 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Old NickПроблема была в том, что не я один работал надо проектом. Была еще команда, которая писала код для терминала сбора данных. И чтобы поменять структуру таблиц на ООП стиль, пришлось бы согласовывать с ними. это - явный минус подхода: его никто, кроме автора, в команде не использует (есть, наверное, причины). распараллелить нормально задачи не получится, договоренности между разрабами - нет, а это уже объективная причина срыва срока и/или ухудшения качества нарисовывается. как объяснять руководству, что ресурсов дали - а эффективности не добавилось? ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 18:14 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Old Nickiv_an_ruOld Nick, У нас в Виртуозе в полный рост сделан create type. Новый тип создаётся на выбор "только для объектов в памяти" или "хранится в таблице", с наследованием и с функциями-членами в виде хранимок, явовских функций, перловых, пэхапэшныъ и ещё всяких. Никаких внешних утилит для этого, просто через ODBC или ещё что отправляется на сервер, точно так же, как create table или любой другой запрос. И знаете результат? Это _очень_ мало используемая фича. Вы научились делать, но не научились использовать. А я вот без ООП уже не представляю как разработку вести. Сразу всё упирается в десятикратное увеличение кодированияВ случае с CREATE TYPE причина КМК в другом. Это попытка то ли классы упростить до таблиц, то ли таблицы усложнить до классов. В результате - не рыба, не мясо, поэтому и не пользуются. Про это и Дейт много пишет и наш Кузнецов( http://citforum.ru/database/articles/sql_odmg/). Это не в коем случае не претензия к Виртуозе(!), а общая фича объектно-реляционных СУБД. Приставки "объектно-" совсем не стоит воспринимать как синоним ОО в широком смысле (кстати, когда читаешь их гайды и мануалы, то слово объект встречается редко, а сочетание "объетно-ориентированый вообще не найдешь"). И, применительно к ОРСУБД, не стоит говорить, что не научились пользоваться. Скорее, если мы хотим реализовать привычное ООП, то в ОРСУБД мало средств (и приходится изобретать свои велосипеды) а "объектность ОРСУБД" мало кому нужна. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 18:54 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
kmawэто - явный минус подхода там явный минус заключается даже в другом совершенно. Наследование - не что иное как простые FK на лишние таблицы Инкапсуляция - не что иное как банальное сокрытие из зоны видимости таблиц и работа через View Полиморфизм - не что иное как IF THEN ... Т.е. автору просто хочется думать, что он построил что-то объектно-ориентированное. Естественно все это построение имеет и массу вытекающих из него недостатков. Например наследование: В таблице TObject хранится наименование, в таблице TPerson хранится вес пациента. Чтобы получить данные о пациенте естественно необходимо связывать 2 таблицы, вместо банального чтения из одной. Это просто самый банальный пример. Чем глубже иерархия наследования, тем более монстрообразная и неустойчивая вся эта конструкция. Точно также и с "полиморфизмом". Вместо банального вывода допустим имени объекта, описание которого хранится в какой-либо таблице, делается что: -дополнительно создаются процедуры, в которых при помощи IF..THEN, образно, программно вызывается нужная, учитывая переданный параметр. Примерно: showmessage(ID) Если ID = 2 то "я человек", иначе - "непонятно кто". И все это вместо простого вызова showmessage('я человек') и т.п. Подробнее... p.s. как сторонник шаблона проектирования K.I.S.S. я, честно говоря, аж поперхнулся. Не со зла конечно, просто по-доброму. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 18:54 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
iscrafm Подробнее ... ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 18:55 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
2 Old Nick Как тут заметили, все этим баловались, большинство бросило, некоторые нет. Я сейчас перезентуху отрабатываю ("на кошках"), если есть желание, 1 час времени и ТимВьювер. могу показать, куда это может завести. Скайп в профиле без пробелов. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 19:50 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
iscrafmp.s. как сторонник шаблона проектирования K.I.S.S. я, честно говоря, аж поперхнулся. Не со зла конечно, просто по-доброму. K.I.S.S это не шаблон проектирования это "The KISS principle states that most systems work best if they are kept simple rather than made complex..." ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 19:53 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Vladimir Aiscrafmp.s. как сторонник шаблона проектирования K.I.S.S. я, честно говоря, аж поперхнулся. Не со зла конечно, просто по-доброму. K.I.S.S это не шаблон проектирования это "The KISS principle states that most systems work best if they are kept simple rather than made complex..." ок, принцип. спасибо за поправку, невнимательность. Шаблоны в уме крутились по другому вопросу. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 19:58 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Old Nickiv_an_ruOld Nick, У нас в Виртуозе в полный рост сделан create type. Новый тип создаётся на выбор "только для объектов в памяти" или "хранитсяв таблице", с наследованием и с функциями-членами в виде хранимок, явовских функций, перловых, пэхапэшныъ и ещё всяких. Никаких внешних утилит для этого, просто через ODBC или ещё что отправляется на сервер, точно так же, как create table или любой другой запрос. И знаете результат? Это _очень_ мало используемая фича.Вы научились делать, но не научились использовать. А я вот без ООП уже не представляю как разработку вести. Сразу всё упирается в десятикратное увеличение кодированияМы для внутреннего употребления как раз немножко используем. Но СУБД вообще-то делаются для нужд апп-девелоперов, а у них "спрос" на фичу оказался невелик. В итоге основное использование --- быстрое прототипирование абы каких веб-страничек на .vspx (это такой отдалённый аналог .aspx ), в то время как в продакшен в массе своей идут веб-странички на .vsp (то есть сервер для генерации странички тупо зовёт подобающую хранимку ). ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 20:20 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Вот интересно, почему кол-во кодеров ваяющих очередную революционную поделку, и убежденных в своей неповторимости не уменьшается. Ведь достаточно поиском по форуму полазить. Ну или погуглить. Или просто книжки почитать. Видать, их нетленные велосипеды все свободное и рабочее время съедают. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 20:37 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
откуда возьмутся новые продукты если их никто не будет "ваять"? Это путь проб и ошибок. Главное в дебри не влазить, хорошо если сразу подскажет кто-то, что это пройденный путь. Не все же являются пользователями продуктов, кто то должен их и создавать. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 20:45 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
казинакВот интересно, почему кол-во кодеров ваяющих очередную революционную поделку, и убежденных в своей неповторимости не уменьшается.Потому что писать код бизнес-приложения --- скучно. У меня свой критерий для определения ценности таких самоделок: если автор озаботился удобством подготовки документации 1) с своей тулзе и 2) к коду разрабатываемого приложения и к самому приложению, то надо внимательно смотреть. Представьте себе Страуструпа, который бы ограничился написанием транслятора, и не написал учебники по языку. Да его забыли бы все. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 20:47 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
казинакВот интересно, почему кол-во кодеров ваяющих очередную революционную поделку, и убежденных в своей неповторимости не уменьшается. Ведь достаточно поиском по форуму полазить. Ну или погуглить. Или просто книжки почитать. Видать, их нетленные велосипеды все свободное и рабочее время съедают....из-за лени. Сначала лень работать по-старинке, потом лень искать. Надо хоть где-нибудь, но напрячься. ... |
|||
:
Нравится:
Не нравится:
|
|||
06.03.2013, 21:25 |
|
Эффективность разработки ПО
|
|||
---|---|---|---|
#18+
Old NickБольшинство программистов имя в руках объектно-ориентированный язык не могут объектно-ориентированно проектировать и программировать. Я могу программировать объектно-ориентированно на любом языке программирования, даже на необъектно-ориентированных языках, таких как T-SQL или FoxPro 2.5 или любом процедурном. да пофиг ООП твой и РМД че прогеру надо? инструмент, который по описания задачи сгенерировал бы работающее приложние. Хорошо бы полностью. Но, к сожалению полностью не получается. П трахаться на недоязыках что было ООП :):) ... |
|||
:
Нравится:
Не нравится:
|
|||
07.03.2013, 01:13 |
|
|
start [/forum/topic.php?fid=33&msg=38176600&tid=1547725]: |
0ms |
get settings: |
9ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
74ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
54ms |
get tp. blocked users: |
1ms |
others: | 14ms |
total: | 181ms |
0 / 0 |