Имя: Пароль:
1C
 
v8: Локальная переменная с именем "__" (знаки подчеркивания) - изврат или нет?
0 quest
 
30.07.07
15:53
Вот здесь Книга знаний: v8: Работа с Оpen Office из 1С на примере Calc использется переменная с именем __ - возник спор - является ли такое имя извратом или нет?
1 IUnknown
 
30.07.07
16:00
это скорее всего какой-то баг
2 quest
 
30.07.07
16:01
Не баг. Я ее сам так назвал исходя из того что нигде позже этого цикла она использоваться не будет. Насколько это неправильно по стилю?
3 beleg
 
30.07.07
16:01
...не является... нормальное имя переменной... изврат - это переменная ХЗ и ей подобные...
4 Стрелок
 
30.07.07
16:01
я часто промежуточные таблицы или списки называю с "_" в начале или в конце.... привык и легко риентируюсь где выходная результирующая таблица а где промежуточная
5 Волшебник
 
модератор
30.07.07
16:04
Я считаю, что изврат. Натыкаясь в очередной раз на переменную, не врубаешься, что это такое (что она хранит и какого она типа). Ситуация осложняется тем, что в статье автора переменная в пределах одной процедуры может хранить совершенно разные значения разных типов. Т.е. с трудом запомнив один раз, что находится в переменной, чуть позже опять попадаешь впросак.
6 IUnknown
 
30.07.07
16:05
ну вообще-то не изврат... и даже хз не изврат... и даже чтотамтридцатьтризабораногузадирайкин не изврат...
7 IUnknown
 
30.07.07
16:06
(5)это уже соглашение об именовании переменных...
8 beleg
 
30.07.07
16:07
..."программирование требует ума, вкуса и терпения" (с) Страустроп
(5)...а, как говорится, о вкусах не спорят...
9 IUnknown
 
30.07.07
16:07
кстати очень часто встречал

Сотрудник = создатьобъект("справочник.Сотрудники");
...
...
...
Сотрудник = Сотрудник.Наименование;

вот это полный изврат
10 Мулька
 
30.07.07
16:07
Знавал один язык, где общепринято было все переменные начинать с решетки - # - имхо, удобнее для понимания. Для 1С тоже давно надо было какие то общие стандарты объявить, хотя к ним и так приходишь, учась на типовых и думая мозгом.
11 mikecool
 
30.07.07
16:07
(5) поддерживаю ..
(7) в больших проектах это сильно облегчает жизнь...
12 IUnknown
 
30.07.07
16:09
13 beleg
 
30.07.07
16:10
(9) +1
14 КапЛей
 
30.07.07
16:12
из системы стандартов и методик разработки в версии 8:

21.       Правила образования имен переменных

--------------------------------------------------------------------------------

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

Имена следует образовывать путем «склеивания» слов - удаления пробелов между словами. Каждое отдельное слово в «склеенном» имени пишется с прописной буквы. Предлоги и местоимения из одной буквы также пишутся прописными буквами.

Например:

работа с каталогом -  РаботаСКаталогом
количество пачек в коробке - КоличествоПачекВКоробке



Имена переменных не следует начинать с подчеркивания.

В случае, если при именовании переменных необходимо использовать сокращения, следует использовать обязательные сокращения.

Пример:

количество пачек в коробке - КолПачекВКоробке




Имена переменных ни в коем случае не должны состоять из одного символа. Использование коротких имен переменных допускается только для счетчиков циклов.

Именование переменных флагов

В процедурах периодически используются переменные, которые содержат в себе некий флаг. Такие переменные следует называть так, как называется истинное значение этого флага.
Например, если нужна переменная, в которой хранится признак наличия ошибок в процедуре, то такая переменная должна называться ЕстьОшибки. Или если есть признак того, что товар относится к возвратной таре, то такой признак должен называться ЭтоТара.
15 Стрелок
 
30.07.07
16:15
если я предусматриваю исключительную ситуацию которой в принципе быть не может но мало ли, то я присвоиваю "1" переменной "ЛажаКакаяТо"
16 YF
 
30.07.07
16:15
(0) ИМХО - это, конечно, изврат.
17 Очкарито
 
30.07.07
22:25
pit
20 - 29.04.05 - 21:33
   

Пример реально работающей процедуры
Процедура ПриВыбореКонтрагента()
 
 __________ = Контрагент;
 _______ = 0;
 if Контрагент.Selected() =1 then
   ___ = CreateObject("BookkeepingTotals");
   ___.UseSubconto(SubcontoKinds.Контрагенты, Контрагент, 2,);    
   ___.DoQuery( , ДатаДок , AccountByCode("ПРО"),   ,  , 3,,"С");
   
   if ___.SelectSubconto(1) =1 then
     while ___.GetSubconto(1) = 1 do
       _______    =    ___.СКД("С")-___.СКК ("С");
       Break;
     endDo;
   EndIf;
   
   if _______ > 0
     then      
         ____ (_______);
         __();
         _____();
         
     else    
         ПС = _____ ();
         ПроцентСкидки = ПС;
         ВидСкидки    = Enum.ВидыСкидок.СкидкаПоСуммеДокумента;
         __();
         _____();
         
   endIf;
 else
   ВидСкидки        = Enum.ВидыСкидок._____;
   ПроцентСкидки    = 0;
 endIf;                    
 if Договор.Selected() = 1 then
   if Договор.Owner  <> Контрагент then Договор = ""; endIf;
 endIf;
 
КонецПроцедуры // ПриВыбореКонтрагента()
18 France
 
30.07.07
22:39
любит Пит измыватся..
19 MRAK
 
30.07.07
22:40
(17) очно ИЗВРАТ
20 Dfcmrf
 
30.07.07
22:42
класс...
теперь буду писать так
АЗдесьЯБудуХранитьТекстЗапроса=СоздатьОбъект("Запрос");
или нет лучше
строка_А_Здесь_Я_Буду_Хранить_Текст_Запроса=СоздатьОбъект("Запрос");
21 Immortal
 
30.07.07
23:05
насчёт _  вначале имён переменных ..был такой стандарт.
а вот в (17) конечн жпо..
22 Dfcmrf
 
30.07.07
23:07
стандарт был у Borland
мне нравилось...
23 zcxvb
 
30.07.07
23:20
(0) Изврат конечно... Но все хорошо в меру.
Использую иногда, в части зарезервированных идентификаторов, например не "дата", а "_дата" и т.п.
24 MMF
 
31.07.07
01:35
(22) что значит "был"?
(7) Если стилевое оформление кода различается с общепринятым, но в тоже самое время выполняется повсеместно в коде проекта, то изврат, но с маленькой буквы. А если здесь пишу так, а здесь пишу - сяк, то нужно побыстрее кастрировать аффтара, пока не размножился. У меня сходная проблема - только что искал утечку памяти в модуле, написанном товарищем, который свято верит, что молча подавить исключение - афигенный способ создания приложений (22 раза написал except end на 4400 строк модуля). Дело усугубляется отсутствием форматирования, написанием кода "всплошную" - каждый метод на два-десять экранов и использованием трех десятков глобальных переменных :-( К сожалению, в любом языке можно написать ужасно, тем более в скриптовых, тем более на 1С. Голосую за встроенные средства контроля мер качества кода :-)
25 BabySG
 
31.07.07
09:58
(20) Вообще-то принято писать "стрТекстЗапроса", но для Вас будет исключение :)

ЗЫ. Так как в 1С нет жестких типов, то можно просто "текстЗапроса", но, как всегда, для Вас исключение и можете полностью развернуть нотацию :)
Я уже представил себе разворот USHORT, как unsignedShortInt, а по поводу указатель на строки вообще молчу - иначе строки не хватит :)
26 Jolly Roger
 
31.07.07
10:29
Гы, а чо букв не хватило? :-)
Ошибка? Это не ошибка, это системная функция.