OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 12:03

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 63 ]  На страницу 1, 2, 3, 4  След.
Автор Сообщение
СообщениеДобавлено: Четверг, 15 Август, 2013 19:26 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9459
Откуда: Россия, Орёл
Иван Денисов писал(а):
Роман поставил вопрос о качественном автоматическом слиянии двух полноценных документов. Ведь F9 пропускает отображения, diff их не показывает.


Считаю, что автослияние - ненормальная ситуация для разработки на модульном языке.
Это фича, жизненно необходимая для "говнокодной" слабо контролируемой разработки на языках типа C/PHP/...
Либо на этапе сопровождения ещё не "вылизанного" продукта, когда идёт поток мелких локальных исправлений, которые быстрей делать "в несколько рук", что явно не наш случай.

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

(модератор) Тема выделена из viewtopic.php?p=81468#p81468 (согл. п. 3.3)


Последний раз редактировалось Евгений Темиргалеев Пятница, 16 Август, 2013 13:44, всего редактировалось 2 раз(а).
пометка о выделении темы


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Четверг, 15 Август, 2013 19:37 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Илья Ермаков писал(а):
Считаю, что автослияние - ненормальная ситуация для разработки на модульном языке.
Разрешите подписаться. Каждому разработчику по модулю, и ничего сливать не понадобится. А если сливать автоматически, то можно получить массу головной боли в сломанных алгоритмах.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Четверг, 15 Август, 2013 19:42 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Если править код, то тоже подписываюсь. Но, вот беда, при разработке то не только код имеется. Сопроводительная документация, формы. Ради проверки сделал правку в файле Tutorial.odc, заменил логотип на качественно нарисованный. Результат — пустой diff. Redmine на это ругается. Поэтому работа, которую начали Пётр и Роман очень важна для избежания подобных ситуаций, когда что-то изменилось, а мы ничего не видим.


Последний раз редактировалось Иван Денисов Четверг, 15 Август, 2013 22:25, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Четверг, 15 Август, 2013 22:38 

Зарегистрирован: Пятница, 25 Сентябрь, 2009 13:10
Сообщения: 1177
Откуда: Мариуполь
Иван Денисов писал(а):
Роман поставил вопрос о качественном автоматическом слиянии двух полноценных документов. Ведь F9 пропускает отображения, diff их не показывает.
Я такого не писал. Я хотел бы иметь хотя бы инструмент для ручного слияния. Главное, чтобы визуально мог видеть различия. А автоматическое - это было бы вообще хорошо.
В вопросе о слиянии документов я ставлю исходный код, прежде всего. Остальные варианты (презентации, документация) меня меньше интересуют, поскольку их можно решить поштучно, особенно если это сложный процесс.

Илья Ермаков писал(а):
Считаю, что автослияние - ненормальная ситуация для разработки на модульном языке.
Это фича, жизненно необходимая для "говнокодной" слабо контролируемой разработки на языках типа C/PHP/...
Либо на этапе сопровождения ещё не "вылизанного" продукта, когда идёт поток мелких локальных исправлений, которые быстрей делать "в несколько рук", что явно не наш случай.

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

Автослияние - вполне здоровая ситуация для разработки на любом языке разработки. Вопрос состоит лишь в том, как быть при разрешении конфликтов. Поэтому ПО оставляет эту прерогативу человеку. А там где версионное ПО может решить без участия человека - тем лучше для него. Тестированию код подлежит вне зависимости является ли слияние автоматическим или выполненным вручную.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Четверг, 15 Август, 2013 23:01 
Аватара пользователя

Зарегистрирован: Четверг, 08 Октябрь, 2009 15:00
Сообщения: 3774
Роман М. писал(а):
Я такого не писал.
Значит это моя вольная трактовка слова «немуторный» как «качественный автоматический» :D


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 08:17 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Роман М. писал(а):
Автослияние - вполне здоровая ситуация для разработки на любом языке разработки.
Мне кажется, что это очень большой миф, который растёт на непонимании того, что же такое исходный текст программы с экономической точки зрения.

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

Ну а как только у нас возникает автослияние, то инвестиции сразу же обесцениваются. Не знаю, как у вас, Роман, но у меня этот момент сразу вызывает отвращение к подобным инструментам.

Понятное дело, если программист не считает собственное время, то ему всё равно. Собственно говоря, программист, как правило, не является самостоятельным экономическим субъектом, и это объясняет наплевательское отношение к инвестициям в исходные тексты.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 09:03 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Иван Кузьмицкий писал(а):
Роман М. писал(а):
Автослияние - вполне здоровая ситуация для разработки на любом языке разработки.
Мне кажется, что это очень большой миф, который растёт на непонимании того, что же такое исходный текст программы с экономической точки зрения.

Полностью согласен с Романом. Вполне штатная ситуация.

Я например регулярно с этим сталкиваюсь на работе при обновлении конфигураций 1С у клиентов. Да и внутри моей команды такое частенько бывает, т.к. в SVN иногда одновременно разными кодерами правится одна разработка, т.к. ресурсы не резиновые, и повесить все на одного человека невозможно.

ps Вот так это выглядит в 1С http://v8.1c.ru/overview/Term_000000291.htm


Последний раз редактировалось ilovb Пятница, 16 Август, 2013 09:16, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 09:16 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
ilovb писал(а):
Полностью согласен с Романом. Вполне штатная ситуация.

Я например регулярно с этим сталкиваюсь на работе при обновлении конфигураций 1С у клиентов. Да и внутри моей команды такое частенько бывает, т.к. в SVN иногда одновременно разными кодерами правится одна разработка, т.к. ресурсы не резиновые, и повесить все на одного человека невозможно.
В каких единицах измеряется ваша "разработка"? В оберонах мы имеем дело с модулями, которые позволяют разделить ответственность и изолировать проблемы.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 10:01 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Тут в частной переписке проявилось некоторое непонимание модульности.

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

Это значит, что если десять человек лезут одновременно править один и тот же модуль, то эта ситуация неправильная. Ведь на разработку модуля потрачены человеко-часы, он спроектирован, реализован и отлажен.

Конечно, в модуле могут быть ошибки.

Но тут возникает вопрос - а понимают ли природу ошибок те, кто исправляют модуль? Понимают ли они архитектуру системы и понимают ли они онтологическое место модуля в системе? Смогут ли они корректно исправить ошибку и не наделают ли новых? И не собираются ли они изменить онтологическую позицию модуля, сломав нафик всю архитектуру?

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


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 10:12 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Иван, это все теория, которая редко вяжется с практикой. Вам говорят, что на практике такое неизбежно возникает. Это обычная штатная ситуация.
Идеальных команд программистов не существует. Умеющих архитектурить исчезающе мало. Программист то талантливый встречается редко, а уж архитектор это вообще красная книга.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 10:25 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
Борис, надо учитывать, что в данном конкретном случае мы имеем дело с нормальной модульной системой, к которой плохо применима ваша практика. Мои же слова опираются на мою собственную практику.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 10:32 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Иван Кузьмицкий писал(а):
Борис, надо учитывать, что в данном конкретном случае мы имеем дело с нормальной модульной системой, к которой плохо применима ваша практика. Мои же слова опираются на мою собственную практику.

Во-первых, не только моя практика. Так работают практически все, имхо.
Во-вторых, почему мы должны плюнуть на мою практику и брать в расчет только вашу?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 10:46 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Опять же в ветке непонятно о чем речь идет. Автоматическое слияние делается не на конфликтных модулях.
Обычно это инструмент, который автоматически сливает модули, которые правились только в одной ветке. А для конфликтных модулей открывается удобный визуальный полуручной мердж, в котором программер перекидывает куски кода одной кнопкой. Перед мерджем, естественно, нужно просматривать диф. Это инструмент облегчающий ручную работу, а не делающий ее за программера.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 10:47 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4625
Откуда: Россия, Орёл
ilovb писал(а):
Иван Кузьмицкий писал(а):
Роман М. писал(а):
Автослияние - вполне здоровая ситуация для разработки на любом языке разработки.
Мне кажется, что это очень большой миф, который растёт на непонимании того, что же такое исходный текст программы с экономической точки зрения.

Полностью согласен с Романом. Вполне штатная ситуация.
1) Автоматическое слияние составных документов не возможно (viewtopic.php?p=81466#p81466). Только автоматизированное, и эту задачу, даже для частного случая, наскоком не решить.

2) Программирование --- "Научная и практическая деятельность по созданию программ." Автослияние исходников для программирования --- рукосуйство, возникающее от соответствующей организации рабочего процесса.

Какая там команда в git для метода поиска места привнесения глюка методом деления пополам? Для чего её ввели?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 10:49 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
ilovb писал(а):
Иван Кузьмицкий писал(а):
Борис, надо учитывать, что в данном конкретном случае мы имеем дело с нормальной модульной системой, к которой плохо применима ваша практика. Мои же слова опираются на мою собственную практику.

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

Обсуждаемая система построена на принципах, которые, как оказывается, мало кому понятны.

Поэтому я предлагаю как минимум, не спешить с выводами, а хотя бы постараться понять, с чем мы в данном конкретном случае имеем дело.

Проиллюстрирую свою мысль жутко важной автораскраской кода. Все применяют автораскраску. Но язык Оберон имеет такие свойства, которые делают автораскраску просто ненужной. Сильно подозреваю, что вопрос автослияния порождён примитивизмом подходов, принятых в майнстриме. Без костылей там никак, но не надо тащить эти же костыли сюда, в совершенно другую экосистему.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 10:52 

Зарегистрирован: Четверг, 17 Ноябрь, 2005 11:51
Сообщения: 2935
Откуда: г. Ярославль
ilovb писал(а):
Опять же в ветке непонятно о чем речь идет. Автоматическое слияние делается не на конфликтных модулях.
Обычно это инструмент, который автоматически сливает модули, которые правились только в одной ветке. А для конфликтных модулей открывается удобный визуальный полуручной мердж, в котором программер перекидывает куски кода одной кнопкой. Перед мерджем, естественно, нужно просматривать диф. Это инструмент облегчающий ручную работу, а не делающий ее за программера.
Мы тут обсуждаем автослияние.

И, кстати, не путайте оберон-модули с именованным ворохом процедур. За одно возникновение ситуации, когда требуется "перекидывать куски кода" туда-сюда, надо расстреливать.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 10:58 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
facepalm

Диалога видимо опять не получится.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 11:00 

Зарегистрирован: Вторник, 30 Июнь, 2009 14:58
Сообщения: 1549
Евгений Темиргалеев писал(а):
1) Автоматическое слияние составных документов не возможно (viewtopic.php?p=81466#p81466). Только автоматизированное, и эту задачу, даже для частного случая, наскоком не решить.


Согласен. Лично я вообще за UTF-8 :)


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 19:59 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Иван Кузьмицкий писал(а):
За одно возникновение ситуации, когда требуется "перекидывать куски кода" туда-сюда, надо расстреливать.
Это не автослияние. И даже не близко к нему.

Если Вы пользуетесь svn, то поздравляю - автослияние прочно вошло в Вашу жизнь. Или Вы полагаете, что сделав 2000 коммитов одного и того же файла, вы получили в репозитории 2000 его копий? Там хранятся диффы. И если Вы работаете в команде, и кто-то закоммитил свой модуль, а Вы его потом скачали себе, то изменения на Вашей копии модулей получены благодаря автослиянию. Ничего, ведь, ни разу не ломалось?

Правда, так svn работает с текстовыми файлами. Как обстоит дело с бинарниками, я уже подзабыл.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: BlackBox Merge tool
СообщениеДобавлено: Пятница, 16 Август, 2013 20:03 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Евгений Темиргалеев писал(а):
1) Автоматическое слияние составных документов не возможно
Автоматическое разрешение коллизий невозможно. Но все уважаемые инструменты никогда и не пытались выполнять его автоматом.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 63 ]  На страницу 1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB