|
Комментарии ("номера задач") для объектов метаданных при разработке | ☑ | ||
---|---|---|---|---|
0
Garykom
26.06.24
✎
12:56
|
Кто и как сохраняет комментарии ("номера задач") для объектов метаданных при разработке?
Речь про Конфигуратор и допустим добавление/изменение объекта метаданных, чтобы привязать его к номеру некой задачи. Для кода то все легко, просто шаблон комментария с //+|++ //-|-- и номер задачи внутри комментария. Затем когда надо найти все затронутое решением задачи просто глобальный поиск по номеру. Но вот с объектами в дереве конфигурации все сложней. Да у многих есть "Комментарий", но писать туда множество разных номеров задач не комильфо. По истории хранилища так же не удобно, да при помещении номер задачи пишется в комментарий, но отбирать неудобно. |
|||
1
Ненавижу 1С
26.06.24
✎
13:02
|
(0) git, как для кода, так и метаданных
|
|||
2
RVN
26.06.24
✎
13:03
|
все добавленные объекты метаданных отмечаются спец. подсистемой "Добавлено"
все измененные объекты метаданных отмечаются спец. подсистемой "Изменено". При необходимости в модуле менеджера комментарий какие реквизиты добавлены, изменены и т.п. с номерами задач |
|||
3
Garykom
26.06.24
✎
13:03
|
(1) Это конечно вариант, но часто EDT и Git нет
|
|||
4
Garykom
26.06.24
✎
13:05
|
(2) Вот это уже интересно
Может и готовый регламент разработки есть? Где описано это и возможно что еще полезное? Можете поделиться? |
|||
5
Garykom
26.06.24
✎
13:29
|
(2) Я теоретически думал создать служебную подсистему
И у нее фигачить на каждую задачу свою подчиненную подсистему по номеру задачи Но вопрос как платформа 1С и Конфигуратор переварят тысячи добавленных подчиненных подсистем :) |
|||
6
RVN
26.06.24
✎
14:08
|
регламентом поделить не могу, ибо собственность франча))
Но т.к. я его писал, то: 1. Создаем подсистему именем франча (или организации если в штате) не включаемую в интерфейс 1.1 создаем подчиненные подсистемы не включаемые в интерфейс: "Добавлено" - ей отмечаем все объекты метаданных которые добавили. "Изменено" - ей отмечаем все объекты, которые типовые и которые мы изменили 2. Все добавленные объекты метаданных (в т.ч. формы и реквизиты) добавляются обязательно с префиксом (ЗА ИСКЛЮЧЕНИЕМ тех случаев, когда для отработки штатных функций и т.п. требуется нормальное название. В этом случае обязательно пояснение в комментарии что добавлено именно нами) В модуле менеджера комментарий по какой задаче/зачем и когда добавлен объект, реквизит.... 3. Доработки проверки заполнения, копирования, передзаписью, послезаписи предпочтительно через подписки на события (с обязательным комментарием в модуле менеджера что для объекта есть подписка на событие, ее название и для чего) 4. Все доработки в коде оформляются комментариями вида: // {## ФИО, номер задачи, дата // при необходимости почему именно так // БЫЛО // если меняем то тут закомментированнй исходник // СТАЛО // }## ФИО, номер задачи, дата 5. Доработки форм ПРОГРАММНЫЕ (исключения обговариваются заранее). Для ЕРП и ее "обрезков" заводим свой модуль доработок формы там точки входа из типовых процедур и пишем все там. Для бухии и ЗУП - есть нюансы. 6. запросы в цикле - зло 7. в пакетных запросах фильтры задавать как можно ранее 8. использование фильтра не в параметрах виртуальной таблицы, а в секции "ГДЕ" карается через матумбу 9. в общем случае вместо вложенных запросов использовать пакет запросов и временные таблицы 11. если в запросах идет выборка из полей составного типа а мы знаем что выбираем конкретный тип - использовать ВЫРАЗИТЬ( 10. получение реквизитов объектов через "." ИЗ ССЫЛОК карается через матумбу. Использовать "ОбщегоНазначения.ЗначениеРеквизитаОбъекта(" если нужен один реквизит и "ОбщегоНазначения.ЗначенияРеквизитовОбъекта(" если нужно несколько 11. конфигурация должна проходить синтаксический контроль (по кр. мере в части ваших дописок) ну вот как-то так навскидку |
|||
7
Garykom
26.06.24
✎
14:16
|
(6) п.10 даже в типовых не соблюдается строго ))
|
|||
8
Garykom
26.06.24
✎
14:18
|
(6) п.5 нюансы есть и для ERP
когда точек входа в типовых формах нет и даже типовых обработчиков событий форм нет бывает )) |
|||
9
RVN
26.06.24
✎
14:18
|
(7) Надо стремиться все делать отлично. Херня сама получится... (с)
|
|||
10
Garykom
26.06.24
✎
14:19
|
(6) по п.3 категорически не согласен!
лишние подписки это зло, если есть типовые механизмы а уж последовательность вызова подписок это гм |
|||
11
RVN
26.06.24
✎
14:21
|
(8) Там же не зря написано про исключения )))
|
|||
12
RVN
26.06.24
✎
14:22
|
(10) Тут надо решать по месту. В общем случае - подписка. Если есть обоснованные возражения - тогда в типовых механизмах.
|
|||
13
vde69
26.06.24
✎
14:38
|
(0) в хранилище коментарий
в тексте или метаданных это только вредит, вот вижу я в коде: # Вася 01/01/2000 задача 4568 и чего это дает? |
|||
14
RVN
26.06.24
✎
14:40
|
(13) Это дает, как минимум, понимание о том, что здесь был Вася.
А если у конторы есть система типа жира или им подобная - то даже можно будет посмотреть зачем он там был |
|||
15
vde69
26.06.24
✎
14:44
|
(14) а если доработку вели все кому не лень? и это номер задачи какого-то франча?
|
|||
16
Гипервизор
26.06.24
✎
14:52
|
(6) Даже если документ полностью нетиповой, т.е. добавлен вами, типа Франч_НовыйДокумент, всё равно все его реквизиты с префиксом? Не избыточно ли?
А если документ добавили, а потом изменяли, то он будет в двух служебных подсистемах? Или в "Изменено" только типовые объекты? |
|||
17
Timon1405
26.06.24
✎
15:00
|
в коммите изменений в хранилище только номер задачи в жире, в тексте по самой задаче в комментариях можно ничего не писать. по git blame все видно кто когда и зачем
(3) EDT не обязательно чтобы выгружать конфу в файлы, это и конфигуратор умеет |
|||
18
Eiffil123
26.06.24
✎
15:19
|
(0) комментария в истории хранилища достаточно.
новые объекты помечать + в начале комментария, удаленные объекты - измененные объекты // номера задач через # например еще есть кроме комментариев метки к каждой записи в истории хранилища. по ним даже фильтр работает |
|||
19
RVN
26.06.24
✎
16:27
|
(16) если объект полностью нетиповой достаточно префикса в объекте: Франч_НовыйДокумент. В его реквизитах, формах, макетах префикс не нужен.
А если объект типовой - то в каждом его добавленном реквизите/макете/форме нужен префикс. В подсистему изменено попадают только ТИПОВЫЕ измененные объекты. Собственно она нужна для того, чтобы посмотреть чего наменяли из типового |
|||
20
RVN
26.06.24
✎
16:31
|
(15) В самом худшем случае ты просто будешь видеть что это кусок измененного/добавленного кода. А если ты знаешь франча и с ним норм. отношения - уже можно посмотреть что за задача была.
А вообще в норм. конторах своя внутренняя нумерация задач. И люди работающие с ними живут именно с этой нумерацией. Мы же не о ларьке говорим? |
|||
21
Garykom
26.06.24
✎
16:40
|
(20) Как связать номера задач с кто, что, зачем и почему - это отдельный вопрос, за рамками темы
Бывает что несколько задач связанных - фактически одна и надо одновременно их пилить/переносить Сабж возник из командной разработки с несколькими хранилищами и отдельными базами вне хранилищ Когда EDT и Git нет Обычная ситуация когда наХХПшил задачу в отдельной базе (сразу в хране не всегда выходит ибо захваты) и надо поместить в хран и отдать на тестирование, уйдя на другую задачу А затем возможно возвращаться и допиливать, или переносить в другое хранилище, поближе к проду И вот когда возвращаешься к старой своей задаче или что хуже другой делал - возникают проблемы и вопросы Основное это список всех объектов и мест в коде, которые надо изучить и переносить |
|||
22
Garykom
26.06.24
✎
16:38
|
(21)+ В Конфигураторе есть фильтр по подсистемам, очень удобно
Но прокатит ли (5) ? |
|||
23
mikecool
26.06.24
✎
16:39
|
хуже, когда
//Вася ++ # // тут хренова туча строк коммента тут Вася что-то добавил //Вася -- # куча комментов засоряет модули |
|||
24
mikecool
26.06.24
✎
16:40
|
+23 проходили такое, смотреть в модули - глаза на выкате )
|
|||
25
Garykom
26.06.24
✎
16:41
|
(23) Да, эта проблема только через Git решается
|
|||
26
Галахад
26.06.24
✎
16:47
|
(21) Разве в истории не видно какие объекты закоммитил?
|
|||
27
vde69
26.06.24
✎
16:52
|
(20) почему сама 1с в типовых не оставляет в коде номера тикетов?
Да по тому как это не нужно и в последствии не реально использовать. коментарии доработок и метки кто и когда имеют смысла только в рамках определенного времени (условно 3 месяца) все метки старше нужно удалять а код приводить к самочитаемому виду |
|||
28
Eiffil123
26.06.24
✎
17:02
|
(25) а как гит избавляет от таких комментариев?
если их не писать, то как накатывать новые релизы? |
|||
29
RVN
26.06.24
✎
17:10
|
(27) Если у тебя своя нетленка - то возможно и да.
А вот если это типовая и ее надо обновлять то лучше пусть следы остаются. Особенно если все доработки в рамках одного пространства задач. Тогда обновляющий может либо посмотреть зачем тут такое натворили и стоит ли такое тащить в новую жизнь, либо (если повезет) - то и лично спросить, глядя творцу/начальнику творца в глаза. Да и коллеги творца в особо запущенных случаях могут спросить: зачем ты так. >почему сама 1с в типовых не оставляет в коде номера тикетов? Откройте насквозь типовую бухгалтерию и гляньте, например, свойства справочника "БанковскиеКартыКонтрагентов". В комментарии объекта вы увидите вот это: "АПК:1206 Нестандартная длина кода связана с форматом номеров платежных карт" Это не тикет оставшийся? |
|||
30
mikecool
26.06.24
✎
17:12
|
(29) это скорее комментарий
|
|||
31
vde69
26.06.24
✎
17:13
|
(29) что-бы легко обновлять - не снимай с поддержки, а используй только новые обьекты и переопределяемые модули
|
|||
32
Garykom
26.06.24
✎
17:15
|
(31) Это невозможно практически
Модулей и обработчиков нет часто |
|||
33
RVN
26.06.24
✎
17:17
|
(30) что-то мне подсказывает, что 1206 это все-таки не номер комментария а скорее номер тикета.
Поищите в бухии "АПК:" - там много всего разного. |
|||
34
Garykom
26.06.24
✎
17:18
|
(27) Объединять и/или удалять старые тикеты согласен
Удалять уже ненужный закомментированный код в типовых И объединять/группировать старые тикеты по смыслу, но чтобы метки/комментарии остались, для облегчения поднятия версии типовой В своих нетленках можно сразу удалять старый, да |
|||
35
RVN
26.06.24
✎
17:19
|
(31) Мы же не о ларьке с новой печатной формой и внешним отчетом говорим. Даже в более/менее "маленьком" внедрении ваш совет, к сожалению, не применим.
|
|||
36
experimentator76
26.06.24
✎
17:37
|
лучше комментарии НИКОГДА не удалять.
я находил задачи по номеру в коде и через 5-7 лет и это пригождалось чтобы доказать спорщикам - что и почему было сделано. давно не дискетки используем для хранения - так что что экономить на тексте. а вот избыточные комментарии - зло - одной строчки краткого пояснения в начале логического блока кода хватит |
|||
37
Timon1405
26.06.24
✎
17:37
|
(29) АПК - конфигурация "автоматическая проверка конфигураций", содержит в себе шаблоны проверки кода на стандарты 1с. а АПК:1206 маркер указывает ей, что процедуру ниже этого комментария проверять не нужно, и тот кто ее написал отошёл от этого стандарта сознательно
|
|||
38
Одинист
26.06.24
✎
18:59
|
//{Фирма
//ФИО //Дата //Задача (если для решения задачи надо править код в нескольких местах название должно быть строго одинаково) //Примечание //{1С} — если изменение в расширении меняет код из 1С, чтобы при обновлении найти в расширении места которые требуют проверки //{Убрано ... //Убрано} //{Добавлено ... //Добавлено} //Фирма} |
|||
39
Волшебник
26.06.24
✎
19:02
|
(38) Жёстка...
Закомментированный ад |
|||
40
Одинист
26.06.24
✎
19:05
|
(39) Что именно смущает?
|
|||
41
Волшебник
26.06.24
✎
19:08
|
(40) Вместо программирования люди занимаются комментированием. Внимание отвлекается, распыляется. Бюрократия, сонар-диктатура. Мерзкое местечко...
|
|||
42
vde69
26.06.24
✎
19:41
|
(40) ад начинается когда появляется "матрешка" (изменения внутри других изменений которые внутри других)
|
|||
43
Одинист
26.06.24
✎
19:38
|
(41) Забить эти строчки 1-2 минуты. Зато когда через пять лет открываешь код — сильно помогает.
|
|||
44
vde69
26.06.24
✎
19:39
|
(43) через 5 лет глобоко пофигу зачем этот код существует...
|
|||
45
Одинист
26.06.24
✎
19:40
|
(42) Тут согласен.
Но тут по упрощенному варианту //{Убрано ФИО Дата ... //Убрано} //{Добавлено ФИО Дата ... //Добавлено} |
|||
46
experimentator76
26.06.24
✎
19:46
|
(45) не хватает главного тега
//{Работает "мамой клянусь" а вот этот дрочь - убрано добавлено и как правильно сказали рекурсивно убран и добавлен, убран и добавлен... не нужен отрефакторил нормально и подписал что работает и автор этого такой-то... кто здесь был последний тот и отвечает за код |
|||
47
DJ Anthon
27.06.24
✎
06:24
|
я все пишу в модуль приложения. написал обработку, которая сама находит различия между релизами и делает краткое описание, а я только дописываю описание, зачем, когда и на каком основании это было сделано. расширений много, а с этой полуавтоматизацией всё супер, удобно и быстро. уже не раз выручало
|
|||
48
Valdis2007
27.06.24
✎
08:44
|
(6) а шо расширениями не пользуетесь?
|
|||
49
Valdis2007
27.06.24
✎
08:45
|
(6) 1. Создаем подсистему именем франча
...ну да видел я такие конфы ...после 10 франчей... |
|||
50
Valdis2007
27.06.24
✎
09:08
|
(42) +1
комментарии, которые комментируют другие комментарии, которые написаны что-бы понять что в предыдущих комментариях)) |
|||
51
breezee
27.06.24
✎
09:43
|
В комментарий пишем. А зачем туда много задач? Реквизит может добавиться только по одной задаче, по остальным уже в коде указываем
|
|||
52
Garykom
27.06.24
✎
09:55
|
(51) Никогда состав плана обмена или определяемый тип не менял?
|
|||
53
RVN
28.06.24
✎
06:36
|
(50) часть комментария которая
// БЫЛО и закомментированный старый код касается ТОЛЬКО И ИСКЛЮЧИТЕЛЬНО типового кода. Если правится что-то не типовое, то старый код оставлять не надо. Если правится дописка - то старый код оставлять не надо. (48) 1. Не всегда все можно сделать расширениями, особенно где старая платформа. 2. чисто мое ИМХО - концы с расширениями искать сложнее. 3. чисто мое ИМХО - расширение имеет право на существование в 2х случаях: - надо что-то исправить не снимая конфу с "замка" и БЕЗ добавления реквизитов метаданных - срочно что-то надо исправить в проде. Но в этом случае все доработки из расширения должны быть перенесены в конфу и прод обновлен нормально, а расширение убрано. |
|||
54
breezee
28.06.24
✎
07:04
|
(52) Неа, только новые создавали. С определяемыми типами не работал
|
|||
55
experimentator76
28.06.24
✎
09:20
|
(53) жду когда использование расширений на постоянку станет общепризнанной плохой практикой... пока пропускаю такие компании при выборе потенциального работодателя, как неадекватов...
когда нет контроля и гарантий - использовать такой механизм - это дополнительные ненужные риски |
|||
56
Timon1405
28.06.24
✎
09:40
|
(55) у расширений есть свое хранилище и их тоже можно версионировать и обновлять через командную строку/сборочную линию. оставьте ваши страхи в 2018 году.
|
|||
57
RVN
28.06.24
✎
09:44
|
(56) Тут речь не про хранилище, а про то как искать почему что-то работает не так как в коде прописано при наличии хотя бы от 5 расширений. А если учесть что почему-то не всегда корректно отрабатывает &ИзменениеИКонтроль - то вообще.
Ну и с хранилищем тоже прекрасно. Свое хранилище для конфигурации, свои хранилища для каждого расширения. А если учесть что на больших проектах бывают по несколько хранилищ (несколько "кустов" разработки) то все это еще умножить... Красота... |
|||
58
Timon1405
28.06.24
✎
09:54
|
(57) если проект настолько большой, то в нем должен быть выделенный архитектор, который мерджит эти изменения?
стек замера производительности показывает все расширения, что там искать? про &ИзменениеИКонтроль в платформе были глюки с отступами тексте в ранних 8.3.* , но вроде их давно пофиксили. |
|||
59
RVN
28.06.24
✎
10:06
|
(58) Естественно должен. Но одно дело мержить несколько хранилищ конфигурации, другое дело к ним еще и хранилища расширений.
И, главное, смысл? Какой выигрыш дает этот гемморой? >про &ИзменениеИКонтроль в платформе были глюки с отступами тексте в ранних 8.3.* , но вроде их давно пофиксили. В теории - наверное. А вот на практике - БЯДА. |
|||
60
experimentator76
28.06.24
✎
15:25
|
(56) я могу сравнить конфигурацию поставщика с расширением? А с несколькими расширениями?
|
|||
61
experimentator76
28.06.24
✎
15:28
|
(59) тоже не понимаю смысла. специально создается геморой с которым потом упорно борятся, преодолевают.
ладно архитектор, хранилища - им наверное нечем заняться, но на них смотрят конторки поменьше и даже берут пример... совершенно ничего страшного снять замок и вносить изменения с сохранением поддержки, можно сравнивать изменения поставщика и свои, код будет либо работать либо нет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |