|
Префиксы при разработке | ☑ | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
0
_Дайвер_
26.03.20
✎
19:59
|
Как считаете стоит ли приписывать префиксы к добавляемым объектам конфигурации при использовании БСП и почему? Имею ввиду при разработке конфигурации с нуля для продакшена.
Например объект метаданных конфигурации заводить с именем "мистаСписокПользователей" или стоит писать все таки "СписокПользователей" Просто будут наименования и с префиксами и без, по рекомендациям их нет https://its.1c.ru/db/v8std#content:550:hdoc Так зачем многие отраслевки их используют? Боятся не различить функционал из БСП и добавленный? |
||||||||||
1
_Дайвер_
26.03.20
✎
20:01
|
Я считаю что использовать стоит только при добавлении метаданных внутри конечного пользователя, причем не делить их на тех кто добавлял, а использовать 1 единственный.
А то список префиксов сильно расширяется вася петя сема И потом путаешься в них) Свое мнение |
||||||||||
2
palsergeich
26.03.20
✎
20:01
|
(0) Вкусовщина.
БСП отчленяется отбором по подсистемам. Другое дело когда коробка на базе решения, а не БСП, там с префиксами попроще как то |
||||||||||
3
palsergeich
26.03.20
✎
20:02
|
(2) Ибо рано или поздно в существующую подсистему что то да воткнуть придется.
|
||||||||||
4
_Дайвер_
26.03.20
✎
20:09
|
(2) Да есть "СтандартныеПодсистемы", чтобы отбор сделать.
Только я вижу решения на базе БСП с использованием префиксов ((( |
||||||||||
5
Лефмихалыч
26.03.20
✎
20:26
|
(0) я б за префиксы б пиз*дил палкой. Но иногда без них хуже, чем с ними. Общее правило: не использовать префиксы. Но фанатизм свойственен только фанатикам, а профессионалы умеют находить баланс.
Свое мнение |
||||||||||
6
2mugik
26.03.20
✎
20:35
|
И подсистему свою и префиксы. На одном месте префикс включал номер ТЗ и ничего, нормально было.
Использовать префиксы |
||||||||||
7
Cyberhawk
26.03.20
✎
21:04
|
Если самописка на базе БСП, то можно и без префиксов
Не использовать префиксы |
||||||||||
8
Cyberhawk
26.03.20
✎
21:05
|
Если это доработка уже какой-то имеющейся конфы, то префиксы или суффиксы
Использовать префиксы |
||||||||||
9
mikecool
26.03.20
✎
22:40
|
префиксы - это лепота, альфа-авто не даст соврать )))
дкДокументы фзФоновыеЗадания и т.п. |
||||||||||
10
vicof
26.03.20
✎
22:50
|
(5) +1
|
||||||||||
11
Сияющий в темноте
26.03.20
✎
23:15
|
префиксы у обьектов метаданных позволяют избежать путаницы в именах обьектов при встраивании функционала в готовое решение или при делении функционала на независимые части.
в коде префиксы позволяют гаоантированно отделить локальнве переменные от параметров и глобальных переменных,но по стандарту 1с их не рекомендуется использовать. |
||||||||||
12
Сияющий в темноте
26.03.20
✎
23:20
|
с учетом того,что конфигуратор научился делать замену в коде при переименовании обьекта,то актуальность префиксов поуменьшилась.
опять же,если бы префиксв где-то регистрировались,чтобы была хоть какая-то надежда на уникальность. |
||||||||||
13
jsmith82
27.03.20
✎
00:29
|
Не совсем понял вопрос. Если новая конфа с голой бсп, то, конечно, префиксы в топку. Просто по важности темы выглядит так, будто вопрос о префиксах при доработке в типовой конфе.
Свое мнение |
||||||||||
14
Злопчинский
27.03.20
✎
00:35
|
хм. ладно когда клюшки, где всех объектов метаданных в типовой конфигурации штук 50-100, еще это все можно упомнить/знать.
. а когда крнфига где обьектов метаданных под несколько сотен? . хреняк какой-нить Справочник.ТипыКлиентов - это вообще штатный или дописанный..? |
||||||||||
15
jsmith82
27.03.20
✎
00:37
|
(14) так вроде речь про БСП
там даже понятия такого как клиенты нет вроде бы особо |
||||||||||
16
_Дайвер_
27.03.20
✎
01:31
|
(14) (15) в первом предложении ясно написал вроде, что использовать ли префиксы "при разработке конфигурации с нуля с использованием БСП"
|
||||||||||
17
Злопчинский
27.03.20
✎
01:46
|
"к добавляемым объектам конфигурации при использовании БСП"
-то есть спецы по 8-ке настолько сильные колдунствы, что глядя на наименование обьекта конфигурации и не видя окружения этого обьекта - могут сказать что это или стандартный обьект БСП или добавленный?! |
||||||||||
18
DEVIce
27.03.20
✎
04:10
|
(17) Ты не поверишь, но в 8.х если конфигурация поставщика на поддержке, а БСП должна быть на поддержке, то таки видно типовой это объект или нет. Это касается не только объектов метаданных, но и их реквизитов и объектов объектов. :)
|
||||||||||
19
rphosts
27.03.20
✎
04:35
|
(0) Видел решение где была не совсем типовая БП, потом сверху расширение Бит-Аренда, потом ещё одно расширение... и тут меня позвали дописать функционала... добавил префиксов у новых объектов - а что делать! Тот кто будет после меня допиливать и так будет нервничать
|
||||||||||
20
Конструктор1С
27.03.20
✎
05:33
|
Нет, префиксы в программировании это изживший себя атавизм. Когда IDE ещё не было, венгерская нотация облегчала жизнь. С появлением IDE венгерская нотация изжила себя. И вот, каким-то чудом, в 21-м веке, кастрированная венгерская нотация в виде префиксов к объектам, умудрилась воскреснуть в 1сной отрасли...
Не использовать префиксы |
||||||||||
21
Конструктор1С
27.03.20
✎
07:56
|
(6) "На одном месте префикс включал номер ТЗ и ничего, нормально было"
За такое нужно руки отрывать. Комментарий к объектам метаданных для слабаков? (14) если до конфы не добрался рукожоп и не снял все объекты с поддержки, то значок напротив объекта метаданных всегда подскажет, типовой он или нет |
||||||||||
22
Kigo_Kigo
27.03.20
✎
08:17
|
по мне надо находить баланс как то, вот в клюшках было все просто, все что в глобальнике бало с прификсом "Гл", в снеговиках это уже больше путает, так что хз
Свое мнение |
||||||||||
23
Cyberhawk
27.03.20
✎
08:35
|
(17) По желтому кубику определяется. Не в проде, конечно - там конфы поставщика быть не должно.
|
||||||||||
24
Nikoss
27.03.20
✎
09:41
|
(23) почему не должно?
|
||||||||||
25
ManyakRus
27.03.20
✎
09:57
|
2. Не использовать префиксы
надо использовать "Комментарий" Не использовать префиксы |
||||||||||
26
Мимохожий Однако
27.03.20
✎
10:35
|
Если на базе чего-то разрабатываешь, то префиксы возможны. Особенно для похожих процедур. Но без фанатизма. Т.к. наличие замочков помогает понять что к чему.Например, в расширениях они явно рекомендованы на уровне платформы.
Свое мнение |
||||||||||
27
pavig
27.03.20
✎
10:38
|
(0) Префиксы - это удобно. Удобно - значит быстрее. Быстрее - значит эффективнее. Эффективнее - значит больше денег. Вывод: Префиксы - к деньгам.
|
||||||||||
28
NeoVision
27.03.20
✎
11:11
|
(14) должная быть своя подсистема, куда входят все новые объекты
(0) отраслевые частенько выходят не только как самостоятельные решения, но и как модули к ERP, там то префиксы и пригодятся |
||||||||||
29
Cyberhawk
27.03.20
✎
12:28
|
(24) Лишние хлопоты. Если конечно у тебя есть еще как минимум два, а лучше три контура.
|
||||||||||
30
experimentator76
27.03.20
✎
12:37
|
Префиксы как универсальное решение можно использовать когда в конфе есть и "стандартные" объекты и добавленные разработчиком.
Префиксы также можно использовать для разработческих реквизитов добавленных в стандартный объект. Немного пострадает автонабор текста кода, но будет существенный выигрыш в уникальности, разделяемости и определяемости объектов\реквизитов. Также можно использовать префиксы в названиях переменных\параметров, например, для определения типизации или для отделения их от других свойств с похожим наименованием. Использовать префиксы |
||||||||||
31
experimentator76
27.03.20
✎
12:39
|
+ префиксы улучшают ситуацию с переносимостью кода в другие конфигурации, главное чтобы они были нейтральными, т.е. без номеров заявок, ФИО и т.п.
|
||||||||||
32
Cyberhawk
27.03.20
✎
12:40
|
(30) "использовать префиксы в названиях переменных\параметров, например, для определения типизации" // Ни одного оправдания этому быть не может
|
||||||||||
33
experimentator76
27.03.20
✎
12:41
|
+ само собой для добавленного функционала надо создать отдельную подсистему.
еще бывает в синонимы некое представление подсистемы добавляю, чтобы пользователи могли отличать типовое от нетипового |
||||||||||
34
Garykom
гуру
27.03.20
✎
12:43
|
(0) Имхо нужны не префиксы а поддержка разделения метаданных через "."
Для разных подсистем, расширений, поставок и т.д. можно задать свой префикс и хреначить такие же названия метаданных. Обращаться через моя_подсистема.МойСправочник и т.д. По умолчанию если префикс не указан но последовательность поиска в платформе, сначала основная конфа/поставка, потом дополнительные поставки, потом подсистемы и расширения. Если одно название и кто то скосячил да будет упс - решать через платформу чтобы ошибки/неопределенности подобные выводила при проверке. |
||||||||||
35
experimentator76
27.03.20
✎
12:46
|
(32) если разработка ведется под полным контролем архитектора или разработчик один - то да, можно обойтись.
как собственно 1С и поступает. когда мам и пап множество, то можно наколоться с совпадением названий параметров\переменных и цена такой ошибки может быть высока для бизнеса. а так как-то с семерки довольно удобно определять и случайно не перепутать например тип переменной, так как типизация в 1С неявная, к сожалению. |
||||||||||
36
Garykom
гуру
27.03.20
✎
12:46
|
(34)+ А потом останется добавить алиасы это когда разраб может переобозвать подсистему или расширение как ему надо и использовать свое это новое название.
И будет почти как в C++ гы |
||||||||||
37
experimentator76
27.03.20
✎
12:47
|
(32) а в чем недостаток префиксов у переменных ? то что автонабор не работает ? и все ?
|
||||||||||
38
Cyberhawk
27.03.20
✎
12:47
|
(35) "можно наколоться с совпадением названий параметров\переменных" // Приведт пример
|
||||||||||
39
Garykom
гуру
27.03.20
✎
12:47
|
(35) Строгая типизация нужна чтобы не перепутать!
А то иш псевдотипизацию через префиксы придумали |
||||||||||
40
Cyberhawk
27.03.20
✎
12:49
|
(37) Усложнение изменения кода (рефакторинг или доработка), в результате которого тип переменной приходится поменять
|
||||||||||
41
Cyberhawk
27.03.20
✎
12:52
|
Ну и почти всегда - ухудшение читаемости из-за всяких этих "б", "мс", "тз" и прочее
|
||||||||||
42
experimentator76
27.03.20
✎
12:52
|
(40) ИМХО наоборот рефакторинг станет понятнее\надежнее. А замену легко сделать и пакетно. Главное чтобы переменная существовала в контексте функции\процедуры и только, как и правильно в общем-то.
|
||||||||||
43
Cyberhawk
27.03.20
✎
12:54
|
"Главное чтобы переменная существовала в контексте функции\процедуры и только, как и правильно в общем-то" // А как же передавать параметры в методы? У тебя метод-то один, а точек вызова - дохера. И в каждой у тебя будет написано ВызываемМойМетод(мсМойМассив);
А потом хоба - ты решил тип параметра изменить. |
||||||||||
44
experimentator76
27.03.20
✎
12:55
|
(41) префикс должен быть в нижнем регистре, тогда он со временем "игнорится" мозгом, а когда надо "воспринимается".
мне привычны варианты и с и без - не вызывает проблем, наверное привычка |
||||||||||
45
experimentator76
27.03.20
✎
12:57
|
(43) временами стал уходить от передачи нескольких параметров в сторону передачи структуры параметров,
тогда вопрос с рефакторингом на точках входа автоматически решается. предвижу следующий вопрос :)) |
||||||||||
46
experimentator76
27.03.20
✎
12:58
|
(45) + так кстати иногда поступает сама 1С при передаче параметров в типовые конструкции - значит и мне можно :)
|
||||||||||
47
Cyberhawk
27.03.20
✎
13:00
|
(45) Ну так структуру-то ты в точке вызова все равно инициализируешь, т.е. заводишь под ее значения переменные
|
||||||||||
48
experimentator76
27.03.20
✎
13:01
|
(38) навскидку реквизит формы может совпасть
|
||||||||||
49
experimentator76
27.03.20
✎
13:03
|
(39) так ее ж не дали! я б с удовольствием... и иногда когда никто не видит раз в пятилетку этой фичей можно воспользоваться ;)
|
||||||||||
50
NeoVision
27.03.20
✎
13:04
|
(46) так это и в стандарте есть, но с оговорками - структура должна не один элемент содержать, а несколько.
|
||||||||||
51
Cyberhawk
27.03.20
✎
13:04
|
(48) Если ты добавляешь реквизит в форму, то присваиваешь ему префикс по подсистеме. Таким образом совпасть он с уже имеющейся в модуле форме переменной никак не сможет.
А если наоборот - ты добавляешь в модуль формы переменную, совпадающую с уже имеющимся реквизитом формы, то сам виноват - смотреть надо. Добавляя префикс _типа_ к имени переменной ты по сути снимаешь с себя бремя необходимости такого контроля и вместе с тем почти наверняка снижаешь сопровождаемость кода. |
||||||||||
52
experimentator76
27.03.20
✎
13:05
|
(50) меня эта тема СИЛЬНО выручает когда разработка без четкого ТЗ и изменения надо вносить ОПЕРАТИВНО
|
||||||||||
53
experimentator76
27.03.20
✎
13:06
|
(47) необязательно
|
||||||||||
54
Cyberhawk
27.03.20
✎
13:07
|
(53) ?
|
||||||||||
55
experimentator76
27.03.20
✎
13:11
|
(51) как раз префиксы к реквизитам формы добавлять я против - почему-то так сложилось - может с сортировкой связано по представлению.
" ты добавляешь в модуль формы переменную, совпадающую с уже имеющимся реквизитом формы, то сам виноват - смотреть надо " не все могут в будущее заглянуть, когда неясно кто как и когда что добавит в конфигурацию. типовые вообще постоянно переписываются и я им на слово должен верить что они не задублят мои названия ? я ведь могу и в типовой код добавить свой |
||||||||||
56
experimentator76
27.03.20
✎
13:12
|
(55) + я же говорю - если архитектор\разработчик один и так будет ВЕЧНО - можно не париться
|
||||||||||
57
Конструктор1С
27.03.20
✎
13:13
|
Структура в параметрах это тоже отдельный вид зла. Должна быть крайним средством
|
||||||||||
58
experimentator76
27.03.20
✎
13:14
|
(57) ну мы же в адинэсе - тут не существует идеальных решений :)
|
||||||||||
59
experimentator76
27.03.20
✎
13:15
|
(58) + в семерке еще были глобальные переменные - тоже отдельный вид зла
|
||||||||||
60
experimentator76
27.03.20
✎
13:21
|
(54) ну надо от конкретной ситуации идти... иногда это простые типы данных, которые врядли поменяют тип (при проектировании это обдумывается), иногда это таблица значений, которая собирается из простых типов и т.п.
Вместо соответствий, массивов лучше использовать ТЗ сразу как универсальную коллекцию. Это как бы хитрости которые приходят со временем в "гибкой" разработке. Никому не навязываю подходы естественно :) |
||||||||||
61
experimentator76
27.03.20
✎
13:34
|
(51)
"Добавляя префикс _типа_ к имени переменной ты по сути снимаешь с себя бремя необходимости такого контроля и вместе с тем почти наверняка снижаешь сопровождаемость кода." Речь веду про конфигурации которые врядли выйдут в коммерческую серию. А раз так то это разработка под конкретный бизнес, а бизнесу первично 24/7 стабильная работа, а то что разработчики страдают - это для бизнеса вторично. Если случится так что попаду в коммерческую разработку и даже о боже! в саму 1С, естественно подход изменится в соответствии со стандартами данной конторы, но тогда я рассчитываю что в конторе будет человек (а может и я) который отвечает за архитектуру решения :) |
||||||||||
62
patria0muerte
27.03.20
✎
13:57
|
Префиксы для новых метаданных и реквизитов, добавленных в старые метаданные - в основном да. Прочие префиксы (особенно все эти тз, сз, м, стр к переменным) - в топку
Свое мнение |
||||||||||
63
Cyberhawk
27.03.20
✎
14:27
|
(61) А при чем тут какая-то "коммерческая версия". Сопровождаемость - это про любые изменения в коде и работу с ним человека. По неважно каким причинам.
|
||||||||||
64
experimentator76
27.03.20
✎
14:29
|
Кажется мне что префиксы переменных меньшее зло, чем неинформативные, сокращенные, короткие или наоборот огромные по длине названия.
2-3 коротких слова норм как считаете ? |
||||||||||
65
experimentator76
27.03.20
✎
14:32
|
(63) притом что жопа разработчика у коммерсов рядом, а им как я говорил важна стабильность а на эстетику которую только мы понимаем им пох.
а вот если ты разработчик отраслевки или сама одинэз который анально огорожен от потребителя, там можно поэстетствовать в свою пользу. так понятнее ? :)) |
||||||||||
66
Cyberhawk
27.03.20
✎
14:35
|
(65) Никогда не знаешь, когда придется лезть в свой же код - так понятнее?
|
||||||||||
67
experimentator76
27.03.20
✎
14:35
|
(65) + у всех опыт разный, где-то можно оступиться без последствий, а где-то ошибка с из-за совпадения названий - это потери в несколько лямов и репутация. лучше бы 1С действительно сделал обращение к сущностям всегда через точку чтобы избежать неоднозначности.
|
||||||||||
68
experimentator76
27.03.20
✎
14:41
|
(66) у меня не вызывает отторжения влезть (и при необходимости переписать) в любой код, кроме неотформатированного, но это дело трех секунд его форматнуть :) Ты преувеличиваешь сложность поддержки из-за префиксов, правда. Гораздо сложнее по сравнению с префиксами работать с запутанным кодом с многократно вложенными вызовами функций или с собираемыми запросами. ИМХО сложность с префиксами может быть из-за ошибок на этапе проектирования или с физическим неприятием их.
|
||||||||||
69
ДенисЧ
27.03.20
✎
14:43
|
"Гораздо сложнее .. работать с"
Зачем ты ругаешь 1с? |
||||||||||
70
Cyberhawk
27.03.20
✎
14:43
|
(68) "Ты преувеличиваешь сложность поддержки из-за префиксов, правда" // А где я говорил о какой-то сложности? Я говорил о ее увеличении.
|
||||||||||
71
Cyberhawk
27.03.20
✎
14:44
|
(67) Ну да, тут не спорю - обращение к реквизитам формы должно быть через спец. коллекцию (как, например, Параметры)
|
||||||||||
72
experimentator76
27.03.20
✎
14:52
|
(69) да нее... как можно пойтить против матери-кормящей тя :))
если бы у них было все идеально - не было бы тех кто держит ее под руки и костылик подает. |
||||||||||
73
ManyakRus
27.03.20
✎
15:24
|
(62) надо наоборот:
- в реквизитах без префикса - в переменных с префиксами СЗ, ТЗ и др. т.к. стандарт венгерская нотация |
||||||||||
74
spiller26
27.03.20
✎
15:33
|
Свои доделки всегда подписываю префиксами, уже вошло в привычку. (префикс в 2-3 буквы, примерно так: цуСправочник или цукСправочник) Не желательно между префиксом и названием использовать нижнее подчеркивание, был случай когда в запросе не срабатывали названия с нижним подчеркиванием.
В коде Процедуры и Функции тоже с префиксами пишу. Также при изменениях в стоковом коде обозначаю начало и конец переделок, а основной код при этом "коменчу". Тебе понятно и другие скажут спасибо. -------------------------------------- Что-то пипа такого: //-> ФИО дата //основной код мой код //<- ФИО дата Использовать префиксы |
||||||||||
75
patria0muerte
27.03.20
✎
15:44
|
(73) Какой стандарт? Я в основном в стандарты вендора смотрю. А про переменные он говорит следующее:
https://its.1c.ru/db/v8std#content:454:hdoc Все эти сз, тз - указаны как пример некорректного именования |
||||||||||
76
Ботаник Гарден Меран
27.03.20
✎
15:49
|
(75)
Согласно стандарту переменные могут быть: На, По, Под, Над, Не, Или, Это, То. Использовать префиксы |
||||||||||
77
patria0muerte
27.03.20
✎
15:52
|
(76) Ну, если "на" или "по" образуется из терминов предметной области, то наверное да
|
||||||||||
78
dezss
27.03.20
✎
15:53
|
Если предполагается какой-нить РИБ, то лучше с префиксами, чем без них. А то уникальность номеров фиг сделаешь)
Если РИБа абсолютно точно не будет, то они просто нафиг не нужны, ИМХО. Но этот вариант сомнителен. Потому что он может понадобиться. Свое мнение |
||||||||||
79
Ботаник Гарден Меран
27.03.20
✎
15:54
|
(77)
Конечно, это самое из трех букв тоже может быть переменной. Нормальное вьетнамское имя. |
||||||||||
80
dezss
27.03.20
✎
15:54
|
(78) отзываю...не понял, что имеется ввиду префиксы при разработке)))
|
||||||||||
81
experimentator76
27.03.20
✎
16:05
|
(75) ну вот пока платформа позволяет реквизиту формы случайно перепутаться с названием переменной (с учетом того что таковой дубль может появиться в будущем) - эта рекомендация является внутренней для разработчиков фирмы 1С.
любой стандарт не стоит ни гроша, если допускает возможность ошибки на проде! |
||||||||||
82
experimentator76
27.03.20
✎
16:08
|
(78) Согласен! Никогда не говори НИКОГДА. Даже вот в стабильной экономически стране индексы время от времени падают.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |