Имя: Пароль:
1C
1С v8
Совпадение наименования переменных модуля и реквизитов
,
0 chelentano
 
15.03.13
07:07
1. Тупая ветка 43% (6)
2. Префикс в наименованиях переменных 21% (3)
3. Свой вариант 21% (3)
4. Кг/ам 14% (2)
5. Префикс в наименованиях реквизитов 0% (0)
Всего мнений: 14

Как думаете, как бороться с тем, чтобы наименования переменных модуля не совпадали с наименованиями реквизитов объекта? Как проще, как удобнее? Добавлять префиксы в наименования реквизитов (например, рКонтрагент, фКонтрагент - если это переменная формы) или в наименования переменных? А может есть ещё какие-то удобные способы?
1 Морозов Александр
 
15.03.13
07:10
тупая ветка

Тупая ветка
2 shuhard
 
15.03.13
07:13
(0) тупые:
-ТС
-ветка
- вопрос

Тупая ветка
3 Галахад
 
гуру
15.03.13
07:15
Как-то так.
4 Галахад
 
гуру
15.03.13
07:15
Гм.

Кг/ам
5 1Сергей
 
15.03.13
07:17
У меня в формах переменные вообще редкость, тем более такие, чтобы совпадали по смыслу с реквизитами формы
6 tdm
 
15.03.13
07:27
вопрос и правда НЕумный)

Тупая ветка
7 chelentano
 
15.03.13
07:29
(2) это уже больше смахивает на "Свой вариант"

Просто вот недавно был случай, человек назвал переменную именем, совпадающим с названием реквизита документа, соответственно, реквизит в документах начал меняться "необъяснимым" образом. Вот хотелось бы подстраховаться от таких случаев
8 Godofsin
 
15.03.13
07:30
поддержу боьшинство

Тупая ветка
9 chelentano
 
15.03.13
07:31
(1), (2), (3), (6), (8) - Я так понимаю, у вас этого не происходит? Как контролируете? Глазами?
10 chelentano
 
15.03.13
07:33
Или вот ещё случай вспоминается - назвали переменную в модуле формы ДокументОбъект... И понеслась...
11 rphosts
 
15.03.13
07:34
Вам-бы азы программирования выучить...
Венгерская нотация именования переменных.

Кг/ам
12 MSII
 
15.03.13
07:35
А зачем вообще писать наименования реквизитов объекта руками? Выбирай их из контекстной подсказки. И нет никакой проблемы.
13 chelentano
 
15.03.13
07:36
(11) "Известный противник венгерской нотации — Линус Торвальдс: «Вписывание типа переменной в её имя (так называемая венгерская нотация) ущербно — компилятор и так знает типы и может проверить их, и это запутывает программиста»"
14 chelentano
 
15.03.13
07:39
(12) ну вот получилось так
15 Песец
 
15.03.13
07:39
Имена переменных, процедур и функций
...
Вновь создаваемые имена не должны совпадать с зарезервированными словами языка или именами свойств, непосредственно доступных в текущем контексте. Распознавание имен переменных, процедур и функций ведется без учета регистра букв.

(с)


6. https://snegopat.ru/
16 forforumandspam
 
15.03.13
07:43
В типовых от 1С переменные в модуле выглядят так: мПеременная. Человек, хоть иногда работающий с типовыми, это заметит.
17 forforumandspam
 
15.03.13
07:43
.

Префикс в наименованиях переменных
18 rphosts
 
15.03.13
07:44
(13) 1С - интерпретатор, поэтому высказывание Торвальда Линуса в отношении "кода 1С" Ложно
19 chelentano
 
15.03.13
07:49
(16) Заметил, заметил :)) А также ещё "глПеременная" видел
(18) Ну, хорошо, тогда так: "использование префиксов делает имена переменных менее понятными и, таким образом, ухудшает читаемость кода". И я, в принципе, с этим согласен
А префиксы в наименовании реквизитов неудобны тем, например, что в типовых они заведены уже без префиксов и когда сделаешь сортировку, то переменные "Контрагент" и "рКомментарий" не будут рядом
20 Песец
 
15.03.13
07:53
(18) А при чем тут интерпретатор? В одинэсике нет строгой типизации и есть неявное преобразование типов.

(10) Назвавшему так переменную вряд ли что поможет.

Проблема может возникнуть если например, в типовой добавил код с новой переменной, а потом в обновлении типовой появилась переменная с таким же именем, тогда

Префикс в наименованиях переменных
21 chelentano
 
15.03.13
07:55
(20) Вот это уже похоже на аргумент
22 Defender aka LINN
 
15.03.13
07:56
(0) Линейкой по рукам

Свой вариант
23 chelentano
 
15.03.13
07:59
(20) Кстати, в (15) что за ссылка?
(22) Линейкой по рукам - это само собой, но хотелось бы всё-таки предотвращать такие случаи
24 chelentano
 
15.03.13
08:02
Ладно хоть в снеговике с табличными частями в этом плане попроще
25 Defender aka LINN
 
15.03.13
08:14
(23) А что еще хотелось бы предотвратить? Ну, сование пальце в розетку, там, выход из окон 7 этажа, еще чего-нибудь?
26 Песец
 
15.03.13
08:17
(23) криво скопипастилось.
27 chelentano
 
15.03.13
08:18
(25) И это тоже. Пожалуй, будет темой следующей ветки
28 chelentano
 
15.03.13
08:29
(26) Ну дай "прямую" или хоть расскажи вкратце, что там
29 MSII
 
15.03.13
08:39
Было однажды. Внешняя обработка в БП, в модуле формы переменная, в новом релизе БП появился общий модуль, наименованием совпадающий с наименованием переменной.
30 chelentano
 
15.03.13
08:47
(29) Ага, значит, проблемы всё-таки бывает подобные... Какие есть возможные пути решения?
31 МихаилМ
 
15.03.13
09:08
(30)
проверка модуля, конфигурации.
32 chelentano
 
15.03.13
09:29
Хм... Тяжеловато как-то... Я больше всё-таки склоняюсь к

Префикс в наименованиях переменных
33 forforumandspam
 
15.03.13
09:30
(19) глПеременная - это 7.7
34 chelentano
 
15.03.13
09:46
(33) Да ну? Вот, например, из УТ 10.3: Перем глСерверТО;
35 Serg_1960
 
15.03.13
09:49
Что-то не понял... А что, оператор "Перем" для локальных переменных - уже не модно?
36 Goggy
 
15.03.13
09:52
омг...
1 курс 2й семестр блин...

Тупая ветка
37 chelentano
 
15.03.13
09:56
(35) Ну объявишь ты переменную Контрагент и у объекта есть реквизит Контрагент... Дальше что?
38 pessok
 
15.03.13
09:57
нельзя просто так взять и назвать переменную так же как реквизит. а если назвал - ССЗБ

Свой вариант
39 chelentano
 
15.03.13
10:00
(38) Почему же нельзя? Можно, взял и назвал в запарке, не посмотрел. Вот и спрашиваю, как бы попроще избежать таких вот "недосмотров", чтобы и код красиво выглядел и путаницы бы не было
40 Reset
 
15.03.13
10:01
(39) Чтобы избежать - как выше сказали, линейкой.

Тупая ветка
41 chelentano
 
15.03.13
10:04
(40) Линейкой получится - это уже только после того, как обнаружил. Или так, в целях профилактики раз в неделю ходить, линейкой по пальцам лупить? :)
42 Reset
 
15.03.13
10:05
Необходимости использовать одинакового "наименования переменных модуля" и "наименования реквизитов" - нет, это бессмысленно. Если хочется назвать одинаково - нужно дорабатывать логику. Не может у объекта быть два разных "свойства" с одним именем, это нонсенс.

Свой вариант
43 Reset
 
15.03.13
10:06
(41) В следующий раз "при запарке" будет внимательней.
44 chelentano
 
15.03.13
10:07
(42) Да блин. :) Конечно нет необходимости, я про то, что случайно назвали одинаково
45 chelentano
 
15.03.13
10:08
(42) "Если хочется назвать одинаково - нужно дорабатывать логику" - как раз не хочется
46 Reset
 
15.03.13
10:09
(44) Линейкой, епт.
Префиксы и проч - это маскировка ущербного названия
47 pessok
 
15.03.13
10:09
(45) ну делай тогда перед судьбоносными обновления проверку конфы уже