Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Верно ли утверждение... Что выбрать универсальность или масштабируемость? / 15 сообщений из 15, страница 1 из 1
14.05.2005, 11:48
    #33064240
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
Верно ли утверждение, что "если делаем универсальный обработчик чего-либо, то теряем в масштабируемости ИС" или нет?

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

Теперь, на примере...

Одним из первых рабочих опытов проектирования систем было участие в проектировании системы управления сайтом (CMS - C ontent M anagament S ystem) для одной компании. "Ядро" CMS было практически уже сделано одним человеком, когда я принял участие в этом. Потом только вместе придумывали как что подправить или улучшить и т.п..

В конечном итоге тот паренек, что написал "ядро" уволился, и сопровождать дальше пришлось мне. Что касается алгоритма и скорости работы (производительности) все было замечательно. И идея была хорошая... :)

Работа в "универсальности" приложения заключалась в том, что для выполнения команд SELECT, INSERT, DELETE, UPDATE к базе данных фактически запускался один и тот же обработчик для разных модулей, который и обеспечивал генерацию на сайт и выполнял эти команды (select, insert и т.д.). Все было до поры до времени удобно и всех устраивало. :)

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

Не отрицаю возможность таких программ, которые отвечали бы требованиям и "производительности", и "масштабируемости" (удобства и т.д.). Но, к сожалению, пока такого опыта у меня не было :) Думаю, что все еще впереди! :)

И в заключении вопрос: как в таких случаях поступать, между чем выбирать? Или все дело действительно в практическом опыте?
...
Рейтинг: 0 / 0
14.05.2005, 14:03
    #33064683
Alexey Rovdo
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
Для начала изучите терминологию. А то так вы только запутываете людей. Ваши вопросы касаются "гибкости" и "модульности" архитектуры, "читабельности" кода, но никак не "масштабируемости".

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

Столкнувшись с такой проблемой даже единожды вы уже можете задуматься и о том, что и ваш код, возможно, кто-то в будущем будет разбирать и модифицировать без вашего участия. Представив себя на месте этого человека вы возможно захотите написать более понятный и архитектурно-грамотный код, про который уже нельзя будет сказать, что "там черт ногу сломит".
...
Рейтинг: 0 / 0
14.05.2005, 14:25
    #33064737
Shr
Shr
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
Alexey RovdoПо существу же скажу, что переписывать заново нечитабельные (и как следствие малопонятные) куски кода, а то и целые системы в ситуациях наподобие вашей людям приходится регулярно.
Сам люблю фразу "это проще переписать, чем поддерживать", но буквально сегодня наткнулся на статью , которая заставила меня призадуматься.
...
Рейтинг: 0 / 0
14.05.2005, 15:09
    #33064866
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
Alexey Rovdo
Для начала изучите терминологию. А то так вы только запутываете людей. Ваши вопросы касаются "гибкости" и "модульности" архитектуры, "читабельности" кода, но никак не "масштабируемости".
Хм... странно, а я действительно читал в некоторых книжках или в документациях (во всяком случае так пишут авторы), что "масштабируемость" и "гибкость" - это очень близкие по терминологии понятия. Хотя под "масштабируемостью" больше встречал именно возможность создания и добавления новых модулей программы, в то время как под "гибкостью" - удобство настройки и использования, возможность отключения/включения некоторого функционала на основе уже рабочей ИС.

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

Alexey RovdoСтолкнувшись с такой проблемой даже единожды вы уже можете задуматься и о том, что и ваш код, возможно, кто-то в будущем будет разбирать и модифицировать без вашего участия.
Не сомневаюсь в этом и полностью согласен, потому что у самого часто возникало желание переделать и "улучшить" проекты.

Alexey Rovdo
Представив себя на месте этого человека вы возможно захотите написать более понятный и архитектурно-грамотный код, про который уже нельзя будет сказать, что "там черт ногу сломит".

В принципе, такие мысли действительно были. Своей начальнице я так и отвечал "Что если хотите что-то серьезно изменить, то надо переписывать код, а на данный момент я могу сделать то-то и то-то".
...
Рейтинг: 0 / 0
14.05.2005, 15:10
    #33064871
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
Но на самом деле ответа пока на свой вопрос так и не получил. :)
...
Рейтинг: 0 / 0
14.05.2005, 15:16
    #33064902
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
> Но на самом деле ответа пока на свой вопрос так и не получил.
> Верно ли утверждение, что "если делаем универсальный обработчик чего-либо, то
> теряем в масштабируемости ИС" или нет?

Нет, это утверждение ложно. При любой трактовке масштабируемости.
...
Рейтинг: 0 / 0
14.05.2005, 15:45
    #33064991
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
guest_20040621> Но на самом деле ответа пока на свой вопрос так и не получил.
> Верно ли утверждение, что "если делаем универсальный обработчик чего-либо, то
> теряем в масштабируемости ИС" или нет?

Нет, это утверждение ложно. При любой трактовке масштабируемости.
Иными словами вы хотите сказать, что с хорошо спроектированной системой, таких проблем не возникает?

Но тогда, это опять вопрос как-никак практического опыта и уровня подготовки ИМХО :)

Интересен скорее всего, на самом деле, не ответ на вопрос "верно или нет", а примеры из жизни "кто и как" выходил из подобных ситуаций. Что вы предпринимали, если сталкивались с подобной ситуацией, и какие решения принимались в последующих проектах?
...
Рейтинг: 0 / 0
14.05.2005, 15:58
    #33065049
Va1entin
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
Универсальность.
А какой у вас масштаб это уже другой вопрос.

Posted via ActualForum NNTP Server 1.1
...
Рейтинг: 0 / 0
14.05.2005, 16:00
    #33065057
guest_20040621
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
> Иными словами вы хотите сказать, что с хорошо спроектированной системой,
> таких проблем не возникает?

Необязательно. Первоисточник 90% проблем - некачественное техническое задание или некачественная структура данных. Остальные 10% проблем - кривые руки и отсутствие мозгов. Глобальная разница между грамотно спроектированными приложениями и остальными - возможность естественного эволюционного развития первых.

> Но тогда, это опять вопрос как-никак практического опыта и уровня подготовки

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

О Вашем примере: если бы приложение было должным образом документировано, описанным проблем не было бы. Т. е. речь идет об изначально некачественной постановке задачи, допускающей отсутствие сопроводительной документации.
...
Рейтинг: 0 / 0
14.05.2005, 16:14
    #33065103
YBW
YBW
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
Berkut<...>
И в заключении вопрос: как в таких случаях поступать, между чем выбирать? Или все дело действительно в практическом опыте?


ISBN 5-469-00118-0

очень хорошо разобраны и рассмотрены именно эти вопросы
...
Рейтинг: 0 / 0
14.05.2005, 16:19
    #33065120
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
2 guest_20040621

Скорее соглашусь с вами :). Правда, также интересны и другие мнения.
...
Рейтинг: 0 / 0
14.05.2005, 18:08
    #33065386
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
Я бы сместил фокус и сказал так: потерять в масштабируемости (в любой трактовке масштабируемости) несложно делая что угодно, в том числе и универсальный обработчик чего-либо. "Неуниверсальность" сама по себе ничем особенным не поможет.
...
Рейтинг: 0 / 0
16.05.2005, 15:31
    #33067460
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
softwarerЯ бы сместил фокус и сказал так: потерять в масштабируемости (в любой трактовке масштабируемости) несложно делая что угодно, в том числе и универсальный обработчик чего-либо. "Неуниверсальность" сама по себе ничем особенным не поможет.
Хорошо, а как тогда в таких случаях стоит поступать, когда вроде и "гибкость" хромает, и "обработка" данных изначально была спроектирована некачественно? Если конечно можно так сказать. :)
...
Рейтинг: 0 / 0
18.05.2005, 10:53
    #33071384
softwarer
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
BerkutХорошо, а как тогда в таких случаях стоит поступать, когда вроде и "гибкость" хромает, и "обработка" данных изначально была спроектирована некачественно? Если конечно можно так сказать. :)
Да, собственно, как и в любом проекте:

1) Выделить главную цель или цели. Нужна ли Вам "гибкость"? "Обработка"? То и другое в какой-то пропорции? Что еще?

2) Достичь этих целей. Желательно оптимальным путем и не нарушая объективно существующих ограничений.

3) Сделать "хорошо" по остальным показателям, насколько это не нарушает первых двух пунктов и укладывается в ограничения проекта.

Абсолютно общие слова - но, боюсь, ничего более конкретного не скажешь.
...
Рейтинг: 0 / 0
18.05.2005, 11:22
    #33071495
Berkut
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Верно ли утверждение... Что выбрать универсальность или масштабируемость?
2 softwarer

Спасибо за ответ.

Действительно, в моем примере, как такового проекта (в смысле проектной документаций, соглашений и т.п.) и не было. Возможно поэтому трудности в "переделывании" имели место. :)

P.S. Все таки как никак первый опыт был, а неудачный опыт, ИМХО - тоже опыт :)
...
Рейтинг: 0 / 0
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Верно ли утверждение... Что выбрать универсальность или масштабируемость? / 15 сообщений из 15, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]