На главную
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Правила раздела:
1. Название темы - краткое описание кто/что против кого/чего
2. В первом сообщении - список параметров, по которым идет сравнение.
3. Старайтесь аргументировать свои высказывания. Фразы типа "Венда/Слюникс - ацтой" считаются флудом.
4. Давайте жить дружно и не доводить обсуждение до маразма и личных оскорблений.
Модераторы: Модераторы, Комодераторы
Страницы: (4) [1] 2 3 ... Последняя » все  ( Перейти к последнему сообщению )  
> UML vs Нафиг
   
пользуете ли вы это в своей деятельности?
Гости не могут просматривать результаты голосования.
Гости не могут голосовать 
    Буэнос диас, амигос!

    Хочется похоливарить на тему сабжа ;) А, если честно, очень хочется услышать true history как жысть резко наладилась, когда началось скучное и повседневное использование UML при проектировании и документировании, прямо кушать не могу. Истории горьких разочарований и лютой досады - интересуют также.
    Мои программные ништякиhttps://majestio.info
      M
      JoeUser, позволил себе отредактировать последний пункт. Не вижу смысла в, хоть и безобидном, но всё же вбросе, направленном на конкретного участника


      Сообщение на автоудалении
      Подпись была включена в связи с окончанием срока наказания
        Не вопрос :lol: Просто проголосуй, а лучше и коммент по теме оставь. И последние два сообщения - на автоудаление, плс :) Сообщение на автоудалении
        Мои программные ништякиhttps://majestio.info
          Ответил "не пользуюсь", хотя до ссылки на вики даже не знал, что это такое. Теперь хоть почитаю... Почитал. Очередное "программирование мышкой"? Не, нафиг.
            Цитата Dushevny @
            Почитал. Очередное "программирование мышкой"? Не, нафиг.

            Это просто ты с большими проектами, видимо, еще не сталкивался. Очень незаменимая вещь, для понимания как что взаимосвязано и как работает. Эта штука нужна в основном архитекторам, для написания блок схем программы, чтобы наглядно показать как и что взаимосвязано в системе. Программисту эта штука так же может понадобиться для того, чтоб посмотреть как взаимосвязаны сущности между собой.
            Уверен практически любой программист рисовал UML диаграммы в тетрадке, ну если сталкивался хотя б с 10+ взаимосвязанных классов.
            Так что это не очередное "программирование мышкой", а очень востребованный продукт.

            Добавлено
            Его даже в универе преподают. Я не знаю как сейчас. Когда я учился в универе, у меня был курс работа с UML диаграммами, там объясняли где че означает, какими стрелками соединяются разные сущности.
            В общем довольно странная тема и ответы в ней.

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

            Добавлено
            У нас на работе UML диаграммы активно используются, в разработке в документах всегда они присутствуют, чтоб понимать что куда добавили/планируется добавить, как что было спроектировано.

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

            Добавлено
            Ну и к слову еще: Для объяснения тех же патернов проектирования активно используются UML-диаграммы.
            https://ru.wikipedia.org/wiki/%D0%9F%D1%80%...BD%D0%B8%D1%8F)

            https://ru.wikipedia.org/wiki/%D0%9F%D0%BE%...BD%D0%B8%D1%8F)

            Глядя на UML-диаграмму сразу становится понятен принцип работы патерна. Попробуй сразу же так понять принцип работы глядя на код. А если он еще и не просто голвый, а со всякими наворотами и неявными связями?
            Сообщение отредактировано: Wound -
              Wound, я почему поднял эту нему - тупо начал "плавать" в сигналах-слотах своей проги (Qt5/C++). Ладно было бы связать стопицот созданных объектов, и существующих до конца выполнения проги ... Так около 20% объектов получились динамическими (создание-выполнение-разрушение). Началось разрушение моего мозга. И вот вспомнил то, что когда-то надежно забыл.
              Мои программные ништякиhttps://majestio.info
                Цитата JoeUser @
                Просто проголосуй, а лучше и коммент по теме оставь.

                Да особо нечего расписывать. Взаимодействие между частями крупной системы так или иначе нужно описывать, т.к. у тебя в коде нет одного места, где бы ты мог крупномасштабно увидеть, что у тебя происходит. UML это будет или просто текстовый документ - не сильно, в общем-то важно. Лично мне uml как-то не зашёл, но это субъективщина.
                Подпись была включена в связи с окончанием срока наказания
                  Цитата OpenGL @
                  UML это будет или просто текстовый документ

                  Не не не !!! В спецификации - куча видов диаграмм, отвечающих за разные аспекты проектирования. Там может быть много чего - и взаимодействие, и иерархия, и таймлайн ... много чего. Каждый вид диаграммы описывает свое свойство (а если вернее - "предназначение"). Как бы я не сопротивлялся "дополнительному" - сска, чувствую учить и использовать надо. Особенно когда проектируемая система выходит за "10 классов" © Киля. А может и раньше надо.
                  Мои программные ништякиhttps://majestio.info
                    Цитата JoeUser @
                    Как бы я не сопротивлялся "дополнительному" - сска, чувствую учить и использовать надо.

                    Ну а почему нет? Это просто инструмент, а уж как ты его будешь использовать - дело твоё
                    Подпись была включена в связи с окончанием срока наказания
                      Цитата OpenGL @
                      UML это будет или просто текстовый документ - не сильно, в общем-то важно. Лично мне uml как-то не зашёл, но это субъективщина.

                      Ну UML это просто как бы стандрат. Для себя можно рисовать хоть в блокноте, хоть в паинте. А если показывать кому то - то нужно юзать UML, чтоб тот, другой понял. Иначе тебе придется отдельно расписывать где какой блок что означает, где какая стрелка что означает. Как наследование отличить от агрегирования, где нарисован класс, а где компонент и т.д.

                      В студии есть встроенные средства для генерирования связей, что то типа UML диаграммы, но не по стандарту UML. Но там в динамике все. Можно мышкой навести и глянуть где что обозначает.
                        Цитата OpenGL @
                        Ну а почему нет?

                        Ну я на бессознательном - всегда пользую Бритву Оккамы.
                        Поэтому каждые "дополнительные новшества" у меня проходят строгую проверку на предмет измены родине :lol:
                        Мои программные ништякиhttps://majestio.info
                          Использую иногда диаграммы классов, реже диаграммы последовательности. Остальное почти не использую.

                          На правах вброса: чем хуже система спроектирована, тем больше необходимы диаграммы :)
                          "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                            Цитата D_KEY @
                            На правах вброса: чем хуже система спроектирована, тем больше необходимы диаграммы

                            Ну да. Это как с постройкой дома. Если есть полный план строительства - значит плохо спроектировали(иначе нахрена нам план?). Если нет, значит хорошо спроектирован :lol:
                            Я бы наверное даже твою фразу перефразировал. Если сначало написали систему, а UML диаграм еще нет - значит никто ничего не проектировал, просто написали по велению левой пятки, и скорее всего оно плохо спроектировано(вернее оно даже не спроектировано, а просто тупо написано абы как). А если UML диаграмма появилась до написания системы. Значит систему сидели и проектировали, а уж потом начали писать по предварительно разработанному плану/архитектуре.

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

                            Добавлено
                            Да и вообще - как понять что и как делает система хотя бы приблизительно, как бы круто она ни была спроектированна без UML диаграмм ?

                            Вот устроился я на новую работу, они там разрабатывают программу, в которую входит целая куча компонентов, 100500 файлов, кода, библиотек, включая сторонних.

                            Мне говорят, вот у нас есть вся эта лабуда, надо короче в внести изменения в систему, чтоб она умела работать в режиме NLB кластера. Иииии? Что ты будешь делать без диаграмм с офигенно спроектированной системой?
                            Вангую что ты будешь сидеть неделю, и рисовать эти UML диаграммы анализируя код, чтоб понять как оно вообще работает, какие модули будут затронуты, и т.д.
                            Сообщение отредактировано: Wound -
                              Цитата Wound @
                              Ну UML это просто как бы стандрат.

                              Да неважно. Я именно о предпочитаемом представлении данных говорю. Показать иерархию классов ещё куда ни шло, но, например, показывать, как у меня идут данные между сервисами - ну нахрен, я лучше ту же информацию прочитаю текстом, и текстом же опишу это в ТЗ.
                              Подпись была включена в связи с окончанием срока наказания
                                Цитата Wound @
                                Ну да. Это как с постройкой дома.

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

                                Добавлено
                                Вот когда железо проектируешь, то да, аналогия со строительством подходит. Для софта - нет.

                                Добавлено
                                Если попытаться улучшить аналогию, то создание софта является скорее созданием проекта дома, а не самого дома. Сам дом ты получаешь, когда build делаешь :)
                                Сообщение отредактировано: D_KEY -
                                "If someone claims to have the perfect programming language, he is either a fool or a salesman or both"(c) Bjarne Stroustrup
                                1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                                0 пользователей:


                                Рейтинг@Mail.ru
                                [ Script Execution time: 0,1211 ]   [ 16 queries used ]   [ Generated: 8.07.20, 15:25 GMT ]