Вход | Регистрация

  1  2  3  4   
1С:Предприятие :: 1С:Предприятие 8 общая

Правила именования переменных

Правила именования переменных
Я
   svsvsv
 
26.09.17 - 13:17
4. Без правил, как хочу, так и пишу36% (4)
3. Без префиксов, по стандартам 1С (КамелКасе)27% (3)
1. Префиксы по области видимости (п, л, м, гл, ...)18% (2)
2. Префиксы по типу данных (сз, тз, м/мас, ...)18% (2)
Всего мнений: 11

Коллеги, кто-то из вас придерживается стандартов разработки (в части оформления кода) с сайта ИТС?

И второй вопрос, если нужно добавить переменную в типовом модуле, ставите ли какие-то префиксы/постфиксы у таких переменных?

И третий вопрос, в наименованиях параметров собственных процедур и функций, используете ли префикс "п" (например, Функция ЧислоПростое(пЧисло) )?
 
 
   Cyberhawk
 
1 - 26.09.17 - 13:19
3. Зачем префикс п у параметра?
   Лефмихалыч
 
2 - 26.09.17 - 13:20
Моё бусидо:
1. всегда CamelCase
2. ИмяДолжноОтражатьСутьАНеТипДанныхИлиОбластьВидимости. Даже у параметров.
3. Ни каких сокращений
4. Ни каких префиксов
   Лефмихалыч
 
3 - 26.09.17 - 13:20
в результате, правда, от чтения php-кода у меня кровь из глаз...
   Волшебник
 
Модератор
4 - 26.09.17 - 13:22
(2) Пишется "никаких"
   Лефмихалыч
 
5 - 26.09.17 - 13:23
(4) тем более
   Сияющий Асинхраль
 
6 - 26.09.17 - 13:26
(2) +100500 +(4) +100 :-)
   Мэс33
 
7 - 26.09.17 - 13:27
(0) да не. Пишем под настроение.
Всякие там Перем ыыыы;
   assasu
 
8 - 26.09.17 - 13:28
(0) для массивов я пишу мМойМассив. для структур стМояСтруктура, для таблиц тзМояТаблица
   1dvd
 
9 - 26.09.17 - 13:28
(8) расстрелять
   Лефмихалыч
 
10 - 26.09.17 - 13:29
(7) (8) если долго так код писать, то вместо пальцев писюны вырастут
 
 Рекламное место пустует
   Мэс33
 
11 - 26.09.17 - 13:29
(10) сколько лет для этого надо?
   Лефмихалыч
 
12 - 26.09.17 - 13:30
(11) приглядись к ладошкам
   Мэс33
 
13 - 26.09.17 - 13:30
(9) вы его не поняли просто.
Имелось ввиду: м<МоеНазваниеМассива>
   бомболюк
 
14 - 26.09.17 - 13:31
пару раз заведете случайно локальную переменную с именем реквизита - сразу научитесь префиксы ставить.
   Лефмихалыч
 
15 - 26.09.17 - 13:31
(13) прекрасно поняли
   Мэс33
 
16 - 26.09.17 - 13:31
(12) посмотрел, в ладони где-то полторы штуки баксов. Что дальше?
   assasu
 
17 - 26.09.17 - 13:31
(10) не замечал. бывают небольшие боли в пальцах.. разжимаю /сжимаю кулаки и все..
   assasu
 
18 - 26.09.17 - 13:31
(13) конечно!
   Мэс33
 
19 - 26.09.17 - 13:33
Мне нравится, когда одинэсниг творчески переменные называет. Код читаешь как интересную книгу.
   v77
 
20 - 26.09.17 - 13:34
мМойМассив мМояСтруктура мМояТаблица

Роберт Рождественский
   assasu
 
21 - 26.09.17 - 13:35
(19) я видел процедуру "ЧакНоррис". такое вот творчество
   v77
 
22 - 26.09.17 - 13:35
(17) боли бывают небольшими только до появления геморроя
   Мэс33
 
23 - 26.09.17 - 13:35
(20) мой компьютер, мои документы.
   Мэс33
 
24 - 26.09.17 - 13:36
(22) да нет геморроя.
Что вы прямо.
Геморрой есть у того, кто придет после тебя))))
   Cyberhawk
 
25 - 26.09.17 - 13:36
Что по поводу (1)?
   _Дайвер_
 
26 - 26.09.17 - 13:37
(8) Вырви глаз
   Wirtuozzz
 
27 - 26.09.17 - 13:37
   yfylhjkjy
 
28 - 26.09.17 - 13:37
"как переменную назовешь.."
хоть матерными словами называй, все равно найдутся те, кому не понравится.
   _Дайвер_
 
29 - 26.09.17 - 13:37
(2) + 100500
   v77
 
30 - 26.09.17 - 13:38
(25)ну, как бы, чистой воды дебилизм
   Мэс33
 
31 - 26.09.17 - 13:38
(25) в js встречаешь такое
myFunc(m_options) {}

Похоже по аналогии
   Рэйв
 
32 - 26.09.17 - 13:39
я тоже стараюсь у сложных типов всегда ставить префиксы типа.
С каких это пор стало некошерным?
Когда концов не найдешь откуда ноги растут у переменной очень пользительная привычка.
   Cyberhawk
 
33 - 26.09.17 - 13:39
(30) Вряд ли стремление к дебилизму объясняет желание ставить п перед параетрами. Скорее всего ты не понял вопрос...
 
 
   v77
 
34 - 26.09.17 - 13:39
(31) так там не "p", а "m"
   Лефмихалыч
 
35 - 26.09.17 - 13:40
(18) скорее - кончено
   Denis_CFO
 
36 - 26.09.17 - 13:40
я на телевизоре на пятом канале часто вот такое встречаю: След.<НазваниеФункции>. Постоянно думаю, каких-только методов у Рогозиной нет.
   v77
 
37 - 26.09.17 - 13:41
(33) ну понятно, что стремились не к дебилизму, а к красоте.
   Мэс33
 
38 - 26.09.17 - 13:41
(34) не столь важно.
п - похоже от "переменная"
   Лефмихалыч
 
39 - 26.09.17 - 13:42
(32) примерно с тех пор, как, кроме C паскаля появились еще какие-то языки.
Если так делать, то, когда понадобится (а такое бывает не редко) поменять тип, тебе нах весь код переписывать. Это - как минимум. Кроме того, это засоряет к херам текст, его становится невозможно читать.
   Мэс33
 
40 - 26.09.17 - 13:42
(32) на руки давай посмотрим))))
   Мэс33
 
41 - 26.09.17 - 13:44
(39) это странно, если вдруг тебе понадобится поменять тип у переменной "тзМояТаблицаЗначений" на что-то другое.
   Лефмихалыч
 
42 - 26.09.17 - 13:44
(25) у которых писюны вместо пальцев, они часто называют параметры методов теми же именами, которые уже есть в данном скопе. Им приходится на эту проблему костыль навешивать.
   Рэйв
 
43 - 26.09.17 - 13:44
(40) *Посмотрел.
Не нахожу ничего не предусмотренного природой:-)
   assasu
 
44 - 26.09.17 - 13:44
(22)я хожу в спорт зал . и всем советую пару, тройку раз в недели
   Рэйв
 
45 - 26.09.17 - 13:45
(41)Правила хорошего тона рекомендуют сделать новую переменную
   Мэс33
 
46 - 26.09.17 - 13:46
(43) ну и хорошо. Зная твой многолетний опыт, боялся, что писюны идёт вдруг отросли ))))
   Мэс33
 
47 - 26.09.17 - 13:46
Идёт => вдруг
   Лефмихалыч
 
48 - 26.09.17 - 13:47
(41) вот этому коду можно на вход закинуть, как структуру, так и соответствие, так и массив со структурами и соответствиями, так и таблицу с колонками Ключ и Значение.
И бывает изначально рассчитывал на структуру, а потом - куяк - появился фрагмент кода, в котором надо третье поле или еще 10, а остальной код, как был, так и остался. Если у тебя тип - часть имени, тебе весь код менять, либо оставлять в коде на*балово для будущих поколений.


Для каждого КлючЗначение Из ОтветСервера Цикл
   А = КлючЗначение.Ключ;
   Б = КлючЗначение.Значение;
   Лефмихалыч
 
49 - 26.09.17 - 13:48
(41) что странного ты находишь в развитии кода?
 
 Рекламное место пустует
   Сияющий Асинхраль
 
50 - 26.09.17 - 13:49
+(6) Хотя префикс тз частенько пишу, скорее по привычке, чем по надобности
   Cyberhawk
 
52 - 26.09.17 - 13:50
(42) Так от таких совпадений никто не застрахован. Простой пример: сначала ты добавил в форму какой-нибудь контекстный метод, а потом 1С в эту форму добавила _реквизит_, совпадающий с твоим именем
   Мэс33
 
53 - 26.09.17 - 13:50
(48) если переменная живёт внутри метода, поменять его раз плюнуть.
Во вторых, что за фраза "изначально рассчитывал на структуру".)) А потом "куяк"? Я так не хочу программировать)
   Cyberhawk
 
54 - 26.09.17 - 13:50
+Я думаю, что (52) - ответ на (1)
   Рэйв
 
55 - 26.09.17 - 13:51
(0)Поидее это только в парметры функции может прийти что угодно.Их префиксовать типом и правда смысла нет.
Но не могу представить ситуацию когда надо непременно в переменную мМойКлассныйМассив запихать структуру и никак без этого не прожить
   Лефмихалыч
 
56 - 26.09.17 - 13:51
(52) меня не надо агитировать. Я тоже не понимаю, что помешает этим же ребятам реквизит формы назвать с первой буквой п.
   Рэйв
 
57 - 26.09.17 - 13:51
(55) к (48)
   Cyberhawk
 
58 - 26.09.17 - 13:52
(56) Так в типовых 1С вроде так ни разу не делалось
   Ненавижу 1С
 
59 - 26.09.17 - 13:53
Возврат Запрос.Выполнить().Выгрузить()[0].СуммаВсего;
   vicof
 
60 - 26.09.17 - 13:53
(2) Поддерживаю. +100500
Код становится самодокументируемым, и не нужно писать комментарии, объясняющие, что это за переменная и для чего нужна.
   Мэс33
 
61 - 26.09.17 - 13:53
(55) там не тип, если речь о параметрах функции. Это префикс просто для того, чтобы дальше по коду было понятно, с чем работаешь.
   Филиал-msk
 
62 - 26.09.17 - 13:53
(55) Например, когда ты внезапно обнаружил, что поиск по твоему чудо-массиву посему-то тормозит и решил переделать его на быстрое соответствие.
   Cyberhawk
 
63 - 26.09.17 - 13:54
(59) А после первой ошибки обернуть в попытку и довольно закрыть конфигуратор)))
   Лефмихалыч
 
64 - 26.09.17 - 13:54
(55) у меня 100500 раз такое было.
Ну и (48) - это лишь один из примеров, почему префиксы - это зло. Я еще называл читабельность. К читабельности вопросы есть?

Когда в коде префиксы, то его читаешь, как какие-то сотонинские заклинания на польском... Омерзительно и не понятно и, как результат, тратишь время не на образование контекста в голове, а на борьбу с орфографическими изысками...
   Ненавижу 1С
 
65 - 26.09.17 - 13:55
(63) да, но нет
так писать можно, только если твой запрос гарантированно возвращает единственную строку выборки
   Филиал-msk
 
66 - 26.09.17 - 13:56
(64) ... с синтаксическими ошибками, хехе
Если гл_тзОткаммандировныеСотр Тогда
   Лефмихалыч
 
67 - 26.09.17 - 13:57
шл_тзСписДел
   Мэс33
 
68 - 26.09.17 - 13:57
(64) читабельность не страдает.
Дело же привычки.
Но, к сожалению мне не приходилось работать с конфой где все написано по фэншую и по соглашению о коде.
Обычно несколько поколений прогеров уже налабали как могли)))
Так что глаз давно не дёргается.
   vicof
 
69 - 26.09.17 - 14:00
(67) Не СписДел
   GedKo
 
70 - 26.09.17 - 14:00
сокращенцам - особый котел.
для каждого тс из тз цикл
 если тс.ос = 1 или тс.тк = 2 или тс.оз = 3 тогда
   тт = 1;
   Филиал-msk
 
71 - 26.09.17 - 14:01
(69) Оооо да, отдельный котел уже сконфигурирован для любителей употреблять отрицание в идентификаторах
Если Не ФайлНеЗакрыт Тогда
   Филиал-msk
 
72 - 26.09.17 - 14:04
(68) > Обычно несколько поколений прогеров уже налабали как могли)))

Но ты же ведь не такой, ты лучше, правда? (;
   Мэс33
 
73 - 26.09.17 - 14:06
(72) конечно лучше (аххаха).
Что может быть лучше кода бывшего бухгалтера)))). Шучу.
   Филиал-msk
 
74 - 26.09.17 - 14:07
(73) В 6.0 ЕМНИП все переменные должны были с П начинаться, кста
   Мэс33
 
75 - 26.09.17 - 14:08
(74) 6ку я только краем глаза застал. Сбежал на 7ку).
   _Дайвер_
 
76 - 26.09.17 - 14:08
(71) АХАХХАХ
   _Дайвер_
 
77 - 26.09.17 - 14:12
(71) - на - дает +, это я специально для таких случаев себе заметку сделал))) Когда первый раз с таким столкнулся, впал в ступор xD
   Мэс33
 
78 - 26.09.17 - 14:13
(71)
Если НЕ ФайлНеЗакрыт И ФайлНеОткрыт Тогда
   Филиал-msk
 
79 - 26.09.17 - 14:14
(78) ИНАЧЕ ЛОЖЬ КОНЕЦ
   _Дайвер_
 
80 - 26.09.17 - 14:15
Далекая ветка 2008 года
типовая Бухия 7.7 

Функция РубКоп(Сумма) 
   Руб=Цел(Сумма); 
   Коп=ОКР(100*(Сумма-Руб),0,1); 
   СуммаРубКоп=""+Руб+"руб."+Цел(Коп/10)+(Коп-10*Цел(Коп/10))+"коп."; 
   Возврат СуммаРубКоп; 
КонецФункции
   Филиал-msk
 
81 - 26.09.17 - 14:18
Кстати иногда подобное и в организации интерфейса проскакивает, пользователи ж послабее закаленных кодеров будут-то. Когда используется чекбокс, действие которого что-то отключает или запрещает. Пользун вывихивает себе разум в попытке осознания ситуации что для того, чтобы что-то выключить, надо что-то включить.
   Мэс33
 
82 - 26.09.17 - 14:28
(80) а теперь гуру 1Сникам вопрос - как бы вы этот кусок "сегодня" переписали? "По-правильному"?
   Филиал-msk
 
83 - 26.09.17 - 14:29
(82) Да. Мы бы это кусок переписали сегодня по правильному.
   _Дайвер_
 
84 - 26.09.17 - 14:31
(82) Я не гуру 1С, но сейчас механизмы есть много новых механизмов типа формат и т.д. Так что даже близко похожего не стало бы
   drcrasher
 
85 - 26.09.17 - 14:38
(2) единственный вариант, который пройдет АПК. у меня боль и страдание, когда проверку заворачивает на не канонических переменных типа Стр
   Филиал-msk
 
86 - 26.09.17 - 14:41
(85) АПК... будет помечена как особенность и все. Ты еще 1Сникам с Дмитровского шоссе запрети реквизиты называть как ДатаОкончания1, хехе
   Мэс33
 
87 - 26.09.17 - 14:42
(83) (84) а никто и не предложит свой вариант.
Так и думал.
Даже уважаемый Лефмихалыч постесняется.
   Лефмихалыч
 
88 - 26.09.17 - 14:44
(80) что... это за говно?
   svsvsv
 
89 - 26.09.17 - 14:44
Функция ЧислоПростое(пЧисло). Здесь пЧисло - это типа "параметр"
Где-то была статья на каком-то сайте, в которой предлагали для параметров ставить префикс "п", для локальных переменных - префикс "л", для реквизитов формы - префикс "рф", для переменных модуля - префикс "м".
В типовых, кстати, у переменных модуля часто встречается префикс "м"

Но с префиксами код как-то не смотрится
   bzs015
 
90 - 26.09.17 - 14:44
Какие-то буквы-дополнение  нужны если память шалит и не можешь понять философию программирования. Не забудь, что русский код имеет одновременно однозначный код в английском варианте. Код без всяких букв отлично работает. Пей гинкоум, если что-то забываешь.
   Мэс33
 
91 - 26.09.17 - 14:46
(90) глицин тоже неплох
   svsvsv
 
92 - 26.09.17 - 14:46
в (80) пробелов не хватает перед и после равно =)
   svsvsv
 
93 - 26.09.17 - 14:46
и перед/после "+"
   Мэс33
 
94 - 26.09.17 - 14:47
(88) не суть.
Важен вопрос - как этот код написали бы вы.
Как обозвали бы переменные, саму функцию.
Все по бусидо в (2).
   drcrasher
 
95 - 26.09.17 - 14:47
(86) особенность это хорошо, но я всё равно не понимаю, почему нельзя в сообщениях пользователю использовать ё, ! и повелительное наклонение?
   Fish
 
96 - 26.09.17 - 14:51
Сам префиксы в переменных не использую, но и не переживаю сильно, наткнувшись на них в чужом коде.
   bzs015
 
97 - 26.09.17 - 14:56
Еще раз для непонятливых код 1С идет на русском от английского кода, а не наоборот. Что непонятно? Потому что английский язык считается лучшим в работе программ вообще. И вообще код 1С - это сборный от нескольких англоязычных языков программирования.
   Fish
 
98 - 26.09.17 - 14:57
(97) "Потому что английский язык считается лучшим в работе программ вообще. " - Сам придумал? :)
   Лефмихалыч
 
99 - 26.09.17 - 14:57
(94) ну, например

Функция СуммаДляПечати(Сумма)
   Рубли = Цел(Сумма);
   Копейки = ОКР(100*(Сумма-Рубли),0,1); 
   
   КопейкиРазряд1 = Цел(Копейки/10);
   КопейкиРазряд0 = (Копейки-10*Цел(Копейки/10)); 
   
   Возврат СтрШаблон("%1Руб.%2%3коп.", Рубли, КопейкиРазряд1, КопейкиРазряд0);
КонецФункции
   Cyberhawk
 
100 - 26.09.17 - 14:58
(89) Для параметров методов формы надо какой-то префикс, отличный от параметров это формы (для которых и предлагается "п"). Я для параметров форм и ее реквизитов в последнее время перешел на "п" и "рф", но вот с префиксами к параметрам методов пока не обжегся (а это вовсе не исключено)
  1  2  3  4   

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