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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


ISBN 5-469-00118-0

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

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

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

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

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

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

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

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

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


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