Вход | Регистрация
    1  2   
1С:Предприятие :: 1С:Предприятие 8 общая

Поддержание качества конфигурации при командной разработке

[Волшебник, 12.02.19 - 13:41]
Поддержание качества конфигурации при командной разработке
Я
   chuprina_as
 
11.02.19 - 08:23
Добрый день.

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

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

Для себя я так мониторю изменения конфигурации за неделю: смотрю, какие обьекты были добавлены, изменены либо удалены и кем.

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

Решение доступно в патреоне http://www.patreon.com/andrew_chuprina . Стоит 3.99$. Около 250 руб - стоимость электронной книги. При подписке вы получаете доступ к постам, в которых есть ссылки на скачивание. Отписаться можно в любое время. Но решение будет еженедельно развиваться.

Создаю инструмент, призванный превратить программиста в архитектора 1С.

Короткое демо-видео: https://youtu.be/0PdsP4gU-Ak
 
 
   Конструктор1С
 
1 - 11.02.19 - 08:44
Видео? Скрины?
   МимохожийОднако
 
2 - 11.02.19 - 08:45
(1) Сначала надо заплатить )
   PR
 
3 - 11.02.19 - 08:47
Свое EDT?
С увеселительными играми и приятными дамами?
   Михаил Иванович
 
4 - 11.02.19 - 08:48
(0) "Для себя я так мониторю изменения конфигурации за неделю: смотрю, какие обьекты были добавлены, изменены либо удалены и кем. " А, GIT чем плох?
   Галахад
 
5 - 11.02.19 - 08:58
(1) + 1. Где посмотреть?
   Hans
 
6 - 11.02.19 - 09:03
Видосы покажи.
   chuprina_as
 
7 - 11.02.19 - 09:05
(1) Скрин отчета: https://imageshack.com/a/img921/3114/w4qCeu.png

(5), (6), (1) Точно, забыл про самое главное. Видео будет вечером, как до домашнего компа доберусь.

(3) Вроде того :-)

(4) GIT заместо типового хранилища разработки? Месье знает толк в извращениях...
   Михаил Иванович
 
8 - 11.02.19 - 09:08
(7) На извращение больше похоже, то что в (0)
   chuprina_as
 
9 - 11.02.19 - 09:09
(8) Каждому свое
   Михаил Иванович
 
10 - 11.02.19 - 09:10
(9) А, как это сказывается на "Поддержание качества конфигурации"?
 
 Рекламное место пустует
   Михаил Иванович
 
11 - 11.02.19 - 09:11
(10) + как список изменений влияет на качество кода или алгоритма? Или, что вы имеете введу по качеством?
   Михаил Иванович
 
12 - 11.02.19 - 09:19
(11) *виду
   budnik
 
13 - 11.02.19 - 09:33
Выложи фрагмент .
   chuprina_as
 
14 - 11.02.19 - 09:40
(13) Фрагмент чего?
   СтепаDS
 
15 - 11.02.19 - 09:42
(14) А ответить на вопрос в (11) ?
   Базис
 
16 - 11.02.19 - 09:54
Ограничения (платформы, релизы, ОФ-УФ)? Штатные ли средства работы с хранилищем, или (не поминаем всуе) забанит и проклянёт инструмент?
   VladZ
 
17 - 11.02.19 - 09:56
Что-то я не вижу контроля качества...  

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

Где описаны способы контроля качества?
   chuprina_as
 
18 - 11.02.19 - 09:58
(14) Зачем отвечать, если человек задает очевидные вопросы?
Мониторинг изменений конфигурации напрямую влияет на ее качество.

(16) Реализовано штатными средствами: параметрически запускается конфигуратор (поэтому релиз и ОФ-УФ любые), на выходе выдавая mxl-файл изменений. Этот файл распарсивается из загружается в мою конфу. Конфа на УФ Такси. В конфе по загруженной инфе строятся отчеты.

(17) Пока речь о мониторинге изменений больше. Знать, что творится в конфигурации за неделю например. Не спамят ли ее объектами. Плюс, привязка объектов к задачам.
   Hans
 
19 - 11.02.19 - 10:01
Контроль качества кода сложно сделать. Есть типовая конфа которая это делает -  Автоматизированая проверка конфигураций. Чтоб она нормально работало ее нужно знать и много ее пилить.
   СтепаDS
 
20 - 11.02.19 - 10:05
(18) "Мониторинг изменений конфигурации напрямую влияет на ее качество. " каким образом?
   СтепаDS
 
21 - 11.02.19 - 10:06
(20) Ну, увидел ты, что Вася три раза изменил справочник Номенклатура и что? Причем тут качество?
   chuprina_as
 
22 - 11.02.19 - 10:14
(20), (21) Не плодятся новые справочники, перечисления, константы и формы, а используются уже существующие.
   Вафель
 
23 - 11.02.19 - 10:18
как отчет по хранилищу может увеличить качество?
Качество - это тесты + код ревью.
Но для этого никакое решение за 3.99 не нужно
   МимохожийОднако
 
24 - 11.02.19 - 10:20
По сабжу:"Поддержание качества..".
А по сути-Отчет об изменениях конфигурации. Так бы задал тему и конфигурацию.
   СтепаDS
 
25 - 11.02.19 - 10:22
(22) Странно, а если они нужны? Как отчет поможет это определить?
И что за выражение "Не спамят ли ее объектами"? У тебя там кто-то сидит и плодит просто так новые объекты?
Бред какой-то или я чего-то не понимаю.
   Maniac
 
26 - 11.02.19 - 10:22
Зря деньги потратил на тему. Ни продукта, ничего.
Фигня какая (цы) не мое
   МимохожийОднако
 
27 - 11.02.19 - 10:24
(25) У него "группа разработчиков"...)
   Maniac
 
28 - 11.02.19 - 10:25
Ох уже эти 1Сники... Не умеют делать коммерческие проекты.
Продукт нужно подготовить! раскрыть. презентации...

а тут фигня какая то.. отчетики по конфигурации и автор называет это качеством.
   Базис
 
29 - 11.02.19 - 10:32
(24) Это разный взгляд на одно и то же.

Вот я сейчас вроде как паяю датчик на ардуину. А в дневном отчёте напишу, что интегрировал RFID в УТ 10. В КП уже будет про "созданная учётная система исключает возможность ошибочных действий пользователя".

(0) Ты тут не первый день, поэтому на критику смотри не всерьёз. Дерзай!
   chuprina_as
 
30 - 11.02.19 - 10:34
(23) Чтобы написать тесты, надо знать, что тестировать. Чтобы знать, что тестировать, нужны изменения за неделю например.

(25) Когда в подчинении будет от 5-ти разработчиков, поймешь.

(28) По отсутствию вменяемой презентации согласен. Исправлюсь.

(29) Благодарю! Со временем прикручу функциональности в конфу. Но очень хотелось с чего-то начать, отправную точку получить. Поэтому опубликовал сегодня.
   Вафель
 
31 - 11.02.19 - 10:39
(30) как я понимаю ты совсем далек от темы тестирования, да?
   chuprina_as
 
32 - 11.02.19 - 10:45
(31) Куда уж мне. За 13 лет в 1С ни разу не тестировал.
   VladZ
 
33 - 11.02.19 - 10:48
(18) Не вижу в отчете практического применения. Посмотреть изменения можно и в хранилище.

Показывать кому-то извне тоже смысла нет. Потому как то, что хранится в хранилище - это внутренняя кухня ИТ-отдела.

Получается отчет ради отчета.
 
 
   Жан Пердежон
 
34 - 11.02.19 - 10:48
Расходимся, с качеством сабж никак не связан.
   Мандалай
 
35 - 11.02.19 - 10:48
Кому не жалко, заплатите 250 р и выложите в общий доступ.
   МимохожийОднако
 
36 - 11.02.19 - 10:50
(30) Стесняюсь спросить. У тебя в подчинение больше 5 разработчиков? Есть среди них архитектор 1С?
   chuprina_as
 
37 - 11.02.19 - 10:51
(36) Стесняются в бане. Мы не в бане. Не стесняйся.
   Вафель
 
38 - 11.02.19 - 10:52
(32) На какой технологии тесты писал?
   МимохожийОднако
 
39 - 11.02.19 - 10:52
(37) Ответь
   chuprina_as
 
40 - 11.02.19 - 10:54
(38) Хочется поговорить о тестах - заводи свою рекламную ветку. Здесь о (0) речь.

(39) 1 штатный и 4 внештатных. За последними нужен глаз да глаз. Архитектора нет. Я за него.
   Вафель
 
41 - 11.02.19 - 10:55
(40) Это рекламная оплаченная ветка?
Тогда молчу
   СтепаDS
 
42 - 11.02.19 - 11:28
(30) "Чтобы знать, что тестировать, нужны изменения за неделю например." Отчет по изменениям ни как тебе не покажет, что тестировать. Это просто отчет.
Раз ты рекламируешь свой продукт, так будь добр объясни зачем всё это?
   Вафель
 
43 - 11.02.19 - 11:29
(42) Обычно те кто разрабатывает новый функционал - отлично знают что нужно тестировать
   СтепаDS
 
44 - 11.02.19 - 11:30
(43) Ну, так ТС не разработчик, он смотрит отчет по изменениям.
   mikeA
 
45 - 11.02.19 - 11:48
(0) Изменения в коде можно увидеть или только изменённые объекты?
   chuprina_as
 
46 - 11.02.19 - 11:54
(45) Только измененные объекты
   ildary
 
47 - 11.02.19 - 11:55
Зачем изобретать велосипед, когда наше светлое будущее - EDT+GIT?
   СтепаDS
 
48 - 11.02.19 - 11:59
(46) Всё равно не понимаю, ну увидел ты измененный справочник Пользователи и что? Как тебе это поможет?
   Волшебник
 
49 - 11.02.19 - 12:08
(0) Как мне этого не хватало, когда я работал начальником отдела программистов!

А есть привязка к проекту? Может хэштеги прикрутить?
 
 Рекламное место пустует
   Вафель
 
50 - 11.02.19 - 12:10
(48) пошел и "поговорил по душам" с разработчиком
   Жан Пердежон
 
51 - 11.02.19 - 12:56
В общем так и неясно, чем сабж отличается от встроенного в платформу отчета по истории хранилища.
Может там отчет мега-красивый/удобный - так хоть бы скриншотов накидал.

>> сохранять качество конфигурации при командной разработке
Каким боком тут качество? Как оно измеряется до и после внесения изменения? Сохранение означает не улучшение?
Простенький отчет по журналу регистрации на предмет ошибок для качества будет на порядок полезней.
Что уж про смоук-тест говорить.

>> превратить программиста в архитектора 1С.
Чувак вообще в курсе, чем архитектор занимается?
   Конструктор1С
 
52 - 11.02.19 - 12:58
(7) так ведь история хранилища с отбором по разработчику прекрасно покажет, что изменял тот самый разработчик. Какой смысл?
   Cyberhawk
 
53 - 11.02.19 - 13:04
(52) Просто внешняя приблуда надсмотрщика для централизованного наблюдения без необходимости подключаться к каким-то там хранилищам и всему такому
   Конструктор1С
 
54 - 11.02.19 - 13:19
(47) как-то грустненько с этими EDT. Фирма 1С развивает EDT как среду разработки, а на родной конфигуратор почему-то подзабивает. Хотя изначально писали, что EDT это для заманивания сторонних разработчиков, кодящих на англоязычных ЯП, чтобы те в 1ске пользовались привычными инструментами.
   Cyberhawk
 
55 - 11.02.19 - 13:21
(54) На партнерке в открытую пишут на фич-реквесты, что такая-то фича будет реализована в следующей версии ЕДТ, а в пофигураторе - крайне маловероятно (даже не говорят, что "пожелание записали") :)
   chuprina_as
 
56 - 11.02.19 - 13:43
(49) Спасибо за поддержку!

Привязка задачи к проекту / подсистеме и поддержка хештегов будут в течение месяца.

(52) Ну выдаст она под сотню изменений и что, в каждое заходить за перечнем объектов? Единого перечня объектов за период она не даст.
   Вафель
 
57 - 11.02.19 - 14:11
(56) как ты потом работаешь с перечнем объектов?
   undertaker
 
58 - 11.02.19 - 14:16
(7) а в чем извращение? Был опыт использования GIT вместо хранилища?
   Вафель
 
59 - 11.02.19 - 14:18
(58) ну далек человек от промышелнной разарботки, может дойдет когда-нибудь
   undertaker
 
60 - 11.02.19 - 14:19
(59) ну я так и подумал. GIT по сравнению с обычным хранилищем конечно огонь. Мозг надо просто перенастроить немного
   chuprina_as
 
61 - 11.02.19 - 14:19
(57) Пока только смотрю, чтобы не надобавляли лишнего и не трогали, что не надо.

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

(58) Есть опыт использования GitHub на не 1С-программировании. Хранилище многое упрощает. А Git - лишний геморой при соизмеримой пользе. Зачем оно надо?

(59) Ага-ага. Только не путайте цель и средство. Промышленная разработка хороша с умом, а не когда модные инструменты превращаются в самоцель и технологический невроз.
   chuprina_as
 
62 - 11.02.19 - 14:20
(60) Какие выгоды дает Git? Необходимые в 1С-разработке
   Жан Пердежон
 
63 - 11.02.19 - 14:23
   chuprina_as
 
64 - 11.02.19 - 14:26
(63) Так покажите сформированный результат.
   undertaker
 
65 - 11.02.19 - 14:28
(62) 1. полноценная распределенная система хранения версий
2. практически  моментальное выяснение, кто, когда и зачем добавил или изменил ту или иную строку кода
3. ветки!
4. хранение внешних отчетов и обработок
   chuprina_as
 
66 - 11.02.19 - 14:30
(65) 1. Общие слова. Можно конкретику?
2. (0) это решает
3. Сдались вам эти ветки?
4. Внешние отчеты и обработки = хаос в конфигурации и требованиях
   undertaker
 
67 - 11.02.19 - 14:31
(65) + и это еще без всяких разных CI/CD
   Вафель
 
68 - 11.02.19 - 14:32
(66) не рашает. Что конкретно изменено не увидишь, нужно версии сравнивать - а это ппц как долго
   Вафель
 
69 - 11.02.19 - 14:33
(66) а как вы рабочую обновляете? а если в хранилище незаконченные задачи?
   Волшебник
 
70 - 11.02.19 - 14:35
(69)+ Да, интересно, зачем 2 хранилища? Что за релизное хранилище?
   undertaker
 
71 - 11.02.19 - 14:37
(66) 1. Не зависит от сервера, который хранит исходники

а про ветки вы это зря. они не нужны до тех пор пока не попробовал.
   undertaker
 
72 - 11.02.19 - 14:39
(71) + и кстати да, вы сами предлагаете некое подобие веток, когда говорите про два хранилища
   timurhv
 
73 - 11.02.19 - 14:44
Зачем изобретать велосипеды, если в мире это все уже проходили 10 лет назад?
   chuprina_as
 
74 - 11.02.19 - 14:47
(71) Это как с наркотой: не нужна до тех пор, пока не попробовал )

(69), (70)
Хранилище разработки - Единая свалка всех разработок, в том числе находящихся на стадии разработки / тестирования.

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

(72) Верно. Достаточно двух веток. Зачем остальные в _прикладном_ программировании - мне не понятно.
   timurhv
 
75 - 11.02.19 - 14:49
(74) Тестируете вы конфигурацию из разработки или релиза?
   chuprina_as
 
76 - 11.02.19 - 14:56
(75) Тестируем из разработки
Для релизной - только автотесты (в планах правда)
   undertaker
 
77 - 11.02.19 - 14:56
(74) ну например работаете вы над документом над каким то, например РТиУ. Захватили его в хранилище и дорабатываете. Потом прилетает срочная задача по изменению этого же документа и вам по хорошему надо сохранить конфигурацию в файл, отменить захват в хранилище, захватить снова, сделать срочную задачу, поместить в хранилище, объединить с сохраненной конфигурацией, продолжить работу над первой задачей. В Git все это разруливается одни действом по созданию новой ветки.
   undertaker
 
78 - 11.02.19 - 14:57
(76) получается проблема с тем, что пока вы тестируете и исправляете разработку, туда попадут новые доработки
   timurhv
 
79 - 11.02.19 - 14:58
(76) Тут методика описана от 1С
https://its.1c.ru/db/metod8dev#content:5811:hdoc
   timurhv
 
80 - 11.02.19 - 14:58
   chuprina_as
 
81 - 11.02.19 - 15:09
(78) Все верно, но первопричина не в инструменте.

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

А если срочно прилетают задачи на разработку, надо наводить порядок в приоритизации работы отдела разработки 1С, а не идти на поводу.

(80) Что конкретно из этой методики вы видите отсутствующим / противоречащим (76)?
   undertaker
 
82 - 11.02.19 - 15:18
(81) ну не привязывайтесь к срочности. подумайте о кейсе, когда вы правите 5 модулей неделю, а второму разработчику надо поправить один из этих модулей тоже, но сегодня.
   timurhv
 
83 - 11.02.19 - 15:19
(81) либо у вас в отделе людей не так много, либо задачи неглобальные.
Использование 3х контуров (+хранилищ) рекомендовано 1С, а также личным опытом коллег:
http://catalog.mista.ru/public/646867/
   Конструктор1С
 
84 - 11.02.19 - 15:20
(61) "На перспективу буду связывать с задачами, подсистемами и проектами. Чтобы и через полгода при необходимости вспомнить, какой объект зачем менялся и что послужило первопричиной создания того или иного объекта."

Для этого принято заполнять комментарий при помещении в хранилище
   СтепаDS
 
85 - 11.02.19 - 15:34
(66) "Внешние отчеты и обработки = хаос в конфигурации и требованиях" это еще что за бред?
   chuprina_as
 
86 - 11.02.19 - 15:36
(82) Тогда проблема архитектуры / постановки задач. Не ставьте задачи двум разработчикам на доработку одного и того же объекта либо архитектурно разбейте его на два, если возникает такая необходимость.

Не самом деле проблема не в том, что инструмент чего-то не позволяет, а в том, что это не надо.

(83) У нас задача еще глобальнее, чем в вашем примере: обеспечить стабильность контура разработки. Чтобы контур разработки был уже работоспособен. А не только на этапе контура тестирования была работоспособность. Система с двумя контурами выигрышнее за счет снижения издержек на администрирование.

(84) Как вы получите группировку по задаче стандартными средствами?

(85) Оставайтесь при своем компетентном мнении.
   Конструктор1С
 
87 - 11.02.19 - 15:38
(83) о, у нас примерно как в статье
   Вафель
 
88 - 11.02.19 - 15:38
с несколькими хранилищами не удобно cherry pick делать.
То бишь исправил ошибку на рабочей - ручками перенеси в хранилище разработки
   Конструктор1С
 
89 - 11.02.19 - 15:49
(86) "Как вы получите группировку по задаче стандартными средствами?"

Очень легко. Нужно просто поместить объекты, изменяемые в рамках одной задачи, за одно помещение
Конфигурация -> Хранилище  -> Хранилище
Разработчик делает отбор по своему пользователю. Выделяет несколько объектов, измененных в рамках одной задачи, и помещает их, заполнив комментарий ссылкой на задачу. Далее в истории хранилища всё наглядно отображается. Видно, например, что Вася Пупкин одним махом поместил:
Роль.Кладовщик
Справочник.Склады
Документ.ПриходнаяНакладная
Документ.РасходнаяНакладная
а в комментарии красуется номер задачи, по которой Вася внёс эти изменения
   Конструктор1С
 
90 - 11.02.19 - 15:51
(88) и в чём тут сложность?
   Cyberhawk
 
91 - 11.02.19 - 15:55
(89) Это ты типа ноу-хау делишься? ))
   Конструктор1С
 
92 - 11.02.19 - 16:12
(91) нет, это типа как многие работают подсказываю
   chuprina_as
 
93 - 11.02.19 - 16:26
(89) Как заносить в хранилище понятно.

Как группировку в отчете стандартными средствами получить?

Когда у вас по задаче от 10+ изменений и надо получить единый список объектов.
   Конструктор1С
 
94 - 11.02.19 - 18:43
(93) ну так помещаем за раз единым списком, потом в истории хранилища этот единый список будет виден

http://www.picshare.ru/view/9873650/
   Сияющий в темноте
 
95 - 11.02.19 - 18:53
Изменения то чем помогут?
где поставленная задача разбитая на этапы?
изменения то не с потолка берутся
   jsmith82
 
96 - 11.02.19 - 19:17
(34) по ходу
   chuprina_as
 
97 - 11.02.19 - 19:18
(94) Это хорошо на абстрактных примерах получается единым списком. На практике по задаче (не особо сложной) в разное время может быть от 5-ти помещений в хранилище. По моим задачам - от 10-ти. Да и держать объекты только затем, чтобы потом поместить их единым списком не есть хорошо.

(95) Поставленная задача пока во внешней учетной системе. А в хранилище - только гиперссылка на нее. У себя мы используем Redmine
   chuprina_as
 
98 - 11.02.19 - 19:25
(96) Да ладно. Даже общение по теме с умными людьми развивает. Мы же здесь умные люди, да?
   Злопчинский
 
99 - 11.02.19 - 19:54
(43) если бы так было, то ошибок и проблем было бы минимум. а мне кажется - что такого нет...
   chuprina_as
 
100 - 11.02.19 - 20:06
(99) Тоже склоняюсь к мнению, что тестировать следует тем, кто не ведет разработку. Оптимально - не программистам
  1  2   

Список тем форума
Рекламное место пустует  Рекламное место пустует
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс, 1996 г.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует