|   |   | 
| 
 | Правила именования переменных | ☑ | ||
|---|---|---|---|---|
| 0
    
        svsvsv 26.09.17✎ 13:17 | 
        Коллеги, кто-то из вас придерживается стандартов разработки (в части оформления кода) с сайта ИТС?
 И второй вопрос, если нужно добавить переменную в типовом модуле, ставите ли какие-то префиксы/постфиксы у таких переменных? И третий вопрос, в наименованиях параметров собственных процедур и функций, используете ли префикс "п" (например, Функция ЧислоПростое(пЧисло) )? | |||
| 277
    
        X Leshiy 27.09.17✎ 13:05 | 
        (274) Какая голимая отмазка :)     | |||
| 278
    
        Fedor-1971 27.09.17✎ 13:08 | 
        (276) Ступай с Богом, твори на радость себе и людям. 
 (и меньше ориентируйся на стандарты и мнение других долбодятлов) (277) Уважаемый, меня долго учили экономить память. Можешь считать это деформацией доставшейся в подарок от СССР | |||
| 279
    
        Филиал-msk 27.09.17✎ 13:10 | 
        (278) > учили экономить память
 и пользоваться записной книжкой, когда ее не хватает? | |||
| 280
    
        X Leshiy 27.09.17✎ 13:10 | 
        (278) Лучше бы ума набрался :)     | |||
| 281
    
        Fedor-1971 27.09.17✎ 13:17 | 
        (279) нет учили создавать системы в ситуации чётких ограничений время/память (либо вычислить функцию за 0.001 сек, либо сэкономить память и вычислить оную за 0,5 сек)
 Записной книжкой (больше ежедневником) научился пользоваться когда ввязался в большой проект автоматизации. На совещаниях записывал задачи и оказалось что не зря когда админ грохнул систему заданий (280) Могу предложить сделать то же самое. И таки да память, занимаемая старой переменной Выборка будет очищена и выделена новая, под новую выборку. Так что код вполне себе годный, а для понятности существуют комментарии За сим откланиваюсь, пойду заниматься делом. | |||
| 282
    
        romix 27.09.17✎ 13:38 | 
        (2) Такие требования неадекватны (и их кстати нет у 1С) - т.к.
 0) Сама 1С им не подчиняется (СтрНайти, СокрЛП). Смотрим синтакс-помощник ОткрытьФорму - там параметр П. 1) Имеете потенциальные пересечения с реквизитами (например, документа). Это трудноуловимая ошибка, которая может появиться в значительном объеме кода при добавлении в реквизитный состав очередных реквизитов. Вопрос к 1С - почему не дали для реквизитов свой контекст. Проблема решается префиксами, увы и ах. Префиксы тз, м, ст - несут полезную информацию, что за переменная, если по смыслу надо несколько одинаковых, и вообще. 2) Имеете потенциальные проблемы с копированием кода (движок 1с не обнуляет переменную цикла после цикла). Длинная переменная цикла-выборки выглядит неаккуратно. Я использую стр, вв. Длинная переменная структуры-параметра выглядит неаккуратно. Я использую ст. 3) Имеете потенциальные проблемы со встроенными именами самого движка 1С. ОткрытьФорму с параметром П во встроенной справке - не случайна, т.к. использование CamelCase без сокращения приведет здесь к трудноуловимому сюрпризу. | |||
| 283
    
        dezss 27.09.17✎ 14:09 | 
        (282) 3) к какому сюрпризу?     | |||
| 284
    
        Филиал-msk 27.09.17✎ 14:29 | 
        (283) Ромикс испугался неудачного пример в СП и привычно развел теорию заговора
 (282) ПараметрыОткрываемойФормы = Новый Структура("Ключ", Поставщик); Форма = ПолучитьФорму("Справочник.Контрагенты.ФормаОбъекта", ПараметрыОткрываемойФормы); Форма.Открыть(); Жги дальше. | |||
| 285
    
        romix 27.09.17✎ 15:08 | 
        (284) Неудачный бы заменили на удачный. Что же не заменяют. Может быть, этот стиль - единственно понятный.
 Имена Параметры и/или ПараметрыФормы зарезервированы 1С, типичный любитель стиля CamelCase их использует и (внезапно) получает трудноуловимую ошибку. Любитель префиксов - ошибки не получает, у него всё работает. Это только один пример - но мало ли еще и других имен зарезервировано 1С. ПараметрыОткрываемойФормы - причастный оборот. Причастия, деепричастия, страдательные причастия, пассивные глаголы, наречия - точно ли хороший стиль? | |||
| 286
    
        Филиал-msk 27.09.17✎ 15:22 | 
        (285) > Причастия, деепричастия, страдательные причастия, пассивные глаголы, наречия - точно ли хороший стиль?
 Эк тебя корежит с русского языка-то. Словарный запас маленький? Не можешь, слов для описания прикладных сущностей подобрать? Бедненький. Тогда да. Бе и ме префиксы тебе помогут. | |||
| 287
    
        romix 27.09.17✎ 15:25 | 
        (0) Префиксы п для параметров, на мой взгляд, абсолютно адекватны - пОбъект, пТекст, пКонтрагент
 Тем самым, вы отстраиваетесь: 1) от встроенных имен 1С в данном контексте (Объект) 2) от реквизитов объекта, формы (Контрагент), в том числе и тех, которые в процессе разработки еще не добавили в реквизитный состав (но скоро добавят, и -внезапно - получат трудноуловимую ошибку). 3) от имен переменных, которые уже могут использоваться в процедуре или функции. | |||
| 288
    
        romix 27.09.17✎ 15:33 | 
        (286) См. Стивен Кинг "Как писать книги".
 Он очень критически относится к пассивным формам глагола и наречиям. "Открываемый" - пассивная форма. | |||
| 289
    
        svsvsv 27.09.17✎ 15:48 | 
        Добавил голосовалку     | |||
| 290
    
        Филиал-msk 27.09.17✎ 15:53 | 
        (288) Тонко. Отличный намек на то, что конфигурации 1С должны захватывать, внушать страх и будоражить воображение. Спасибо за мнение столь именитого автора жанра!     | |||
| 291
    
        romix 27.09.17✎ 15:53 | 
        (286) >Бе и ме префиксы тебе помогут.
 В контексте формы и объекта они необходимы - иначе будете все время ловить трудноуловимые пересечения имен. В модулях менеджера или общих модулях префиксы не нужны, можно спокойно писать сразу под стандарт. Типы встроенных коллекций (массив, структура, таблица значений) префиксами я бы выделял, поскольку это очевидно улучшает код. Префиксы по типу данных (сз, тз, м/мас, ...) | |||
| 292
    
        Лефмихалыч 27.09.17✎ 15:54 | 
        (232) если у нас есть есть переменная Адреса, которая содержит соответствие, то нам надо дать по жопе и выгнать наиух нас на улицу, ибо мы херовые программисты в этом случае и ни какие нотации нас не спасут, поскольку проблема не в буквах, а в том, что руки не тем концом к туловищу приаттачены.
 Префикс "со" в данном случае ни чего не исправляет. | |||
| 293
    
        svsvsv 27.09.17✎ 15:55 | 
        (287) +     Префиксы по области видимости (п, л, м, гл, ...) | |||
| 294
    
        Лефмихалыч 27.09.17✎ 16:03 | 
        (287) если программист, не глядя на все эти пункты, пишет код, то стоит ли таком у программисту вообще ключи от конфигуратора выдавать?
 Что доброго может написать в модуле объекта человек, который не интересуется контекстом этого объекта? Какой-нить вариант на тему "Халлоуврот" - разве что, - да и тот не взлетит | |||
| 295
    
        romix 27.09.17✎ 16:03 | 
        +(291) В контексте формы и объекта. Но этого кода должно быть немного - основную массу кода лучше выносить подальше из контекста - во всякие модули менеджера, там эти префиксы не нужны (разве что, для новых переменных, потом рефакторить их по Ctrl+Alt+R "под стандарт").     Префиксы по области видимости (п, л, м, гл, ...) | |||
| 296
    
        romix 27.09.17✎ 16:14 | 
        (294) Зачем создавать проблемы, которые потом потребуется решать за счет концентрации усилий разработчика.     | |||
| 297
    
        X Leshiy 27.09.17✎ 16:19 | 
        Запросы в циклах пишу как хочу!     Без правил, как хочу, так и пишу | |||
| 298
    
        xsnika 27.09.17✎ 16:21 | 
        Да будет анархия!     Без правил, как хочу, так и пишу | |||
| 299
    
        X Leshiy 27.09.17✎ 16:22 | 
        (297) Так, не знаю как ты, а я действительно пишу как хочу!
 Гена = Новый ГенераторСлучайныхЧисел(); | |||
| 300
    
        Филиал-msk 27.09.17✎ 16:24 | 
        Триста     | |||
| 301
    
        Лефмихалыч 27.09.17✎ 16:29 | 
        (300) вот рифма так и прёть...     | |||
| 302
    
        X Leshiy 27.09.17✎ 16:30 | 
        (301) Триста - префикс тракториста! :)     | |||
| 303
    
        romix 27.09.17✎ 16:32 | 
        (292) А что не так с переменной Адрес - какому пункту правил 1С она не соответствует?
 https://its.1c.ru/db/v8std#content:2149184103:hdoc Добавление новых переменных в код должно идти с префиксом: сАдрес, стрАдрес, пАдрес, лАдрес Потом рефакторить (Ctrl+Alt+R). В контексте формы и объекта требуется оставлять так - по крайней мере, на текущей реализации движка 1С - иначе будет много проблем с пересечениями. Таково мое мнение - думаю, что в этом отношении поменяются либо правила 1С (интересно, кто их писал - разработчики ли), либо изменят движок, чтобы разграничить контексты имен. | |||
| 304
    
        Филиал-msk 27.09.17✎ 16:46 | 
        (301) 
 Да тут все давно уже ясно и прозрачно... Корни-то у "проблемы" растут из того, что 99.9(9)% "разработчиков" не разрабатывают свое а допиливают существующее за старшими товарищами. Как со времен студенчества во франчайзи пошло, так и продолжатся, отчаянная боязнь "как бы что не того". А при нормальной разработке внезпно оказыватся, что все делится на функциональные блоки и процессы, которые сосредотачиваются на одном-двух человеках, которые и про реквизиты объектов в курсе и предопределенные идентификаторы 1С знает, и общую технологию библиотек понимает, да и вообще понимает что его конфигурация автоматизирует в целом. И не мешает ему это ни-че-го. Но таких мало. И раздается по округе... А мы! Мы тоже можем! Венгерская нотация! Авторские комментарии! Иванов Иван Иванович, 1 апреля, 44 размер ноги! Фирма 1С поменяет свои правила! Изменят движок! Гитхаб! Подвернутые носки! Тьфу. | |||
| 305
    
        romix 27.09.17✎ 16:48 | 
        Пишу без правил (но единообразно) переменные цикла-выборки и структуры-параметры.
 Длинные имена смотрятся не эстетично и заполняют ширину экрана (когда их много). Имена типа ВыборкаДетальныеЗаписи - подойдут любителям печатать (и читать) много букв. Без правил, как хочу, так и пишу | |||
| 306
    
        Филиал-msk 27.09.17✎ 16:50 | 
        (305) Тяжело выбрать из (291) (295) и (305) что-нибудь одно, да?     | |||
| 307
    
        Господин ПЖ 27.09.17✎ 16:51 | 
        пишу (1 + 2)
 ибо нужно отделять локальные переменные и увы нет жесткой типизации стандарты 1с в этом аспекте крайне странные - их отказ от венгерской нотации уже несколько раз выходил граблями по спине. банально в коде обработки есть Пользователи = блабла. А в новой типовой есть общий модуль Пользователи - улыбаемся и машем | |||
| 308
    
        ildary 27.09.17✎ 16:54 | 
        (307) а еще было Пользователь->глПользователь->ТекущийПользователь->Пользователи.АвторизованныйПользователь()     | |||
| 309
    
        Лефмихалыч 27.09.17✎ 17:00 | 
        только заметил голосовалку.
 обосновываю свой выбор в (2) (307) ну, такое иногда бывает, да. Но префиксы от этого - это как презерватив из бересты. Может и надежно, но ощущения не те Без префиксов, по стандартам 1С (КамелКасе) | |||
| 310
    
        dezss 27.09.17✎ 17:00 | 
        (288) да-да...а он что, на русском пишет?     | |||
| 311
    
        Филиал-msk 27.09.17✎ 17:02 | 
        Если пристально посмотреть на типовые, то окажется, что 1с внутри себя использует суффиксы. ОбщегоНазначенияБПО, вот это все.
 Но это надо смотреть и думать. А мы не такие! Венгерская нотация! А вот Я пишу! | |||
| 312
    
        drcrasher 27.09.17✎ 17:05 | 
        в данный момент деваться некуда, у меня отраслевая конфа, приходится соблюдать стандарты. но чем дольше я их соблюдаю, тем они кажутся логичнее. и это не только про переменные и прочие наименования, но и про структурирование.     Без префиксов, по стандартам 1С (КамелКасе) | |||
| 313
    
        dezss 27.09.17✎ 17:06 | 
        Забыл проголосовать.     Без префиксов, по стандартам 1С (КамелКасе) | |||
| 314
    
        Лефмихалыч 27.09.17✎ 17:08 | 
        (282) ты странненький.
 1. Где в моем посте ты нашел что-то про фирму 1С? 2. Которые код копируют, у тех тоже писюны вместо пальцев. Когда копируешь код, имеешь потенциальные проблемы безотносительно к именованию чего-либо. Так просто нельзя делать. Имена переменных циклов для каждого - всегда осмысленные. Для циклов со счетчиком я иногда допускаю СчЦ и Сч. Редко. Ибо не люблю циклы со счетчиком. 3. Не имею я таких проблем. Возможно я что-то делаю не так, но вот - не имею. | |||
| 315
    
        Fish гуру 27.09.17✎ 17:14 | 
        (314) Блин. Тебя почитаешь, стрёмно за руку с коллегами здороваться :))     | |||
| 316
    
        Лефмихалыч 27.09.17✎ 17:15 | 
        (315) ну, или не читай, или не здоровайся. Выбор за тобой :)     | |||
| 317
    
        romix 27.09.17✎ 17:20 | 
        (309) Каким именно ощущениям мешают префиксы?
 Рациональной причиной может быть перевод на другой язык по словарику, но словарик можно и дополнить типовыми префиксами. (314) 2. Этого требования не существует. Кто должен это требование угадывать, и на каком основании? Все без исключения копируют код, если же движок 1С отрабатывает это неадекватно - то это неадекватный движок. Осмысленные переменные цикла = говнокод. В самих же стандартах сказано, что они могут быть однобуквенными (пункт 4). https://its.1c.ru/db/v8std#content:2149184103:hdoc | |||
| 318
    
        X Leshiy 27.09.17✎ 17:22 | 
        (317) прЕфиксыВыглядаятНеКрасиво!     | |||
| 319
    
        Филиал-msk 27.09.17✎ 17:23 | 
        (317) И снова тоненькая такая подмена...Ты слова "могут" и "должны" различаешь, турист?     | |||
| 320
    
        Филиал-msk 27.09.17✎ 17:24 | 
        (318) Кстати от цветовой схемы зависимость интересная может быть     | |||
| 321
    
        X Leshiy 27.09.17✎ 17:25 | 
        Кстати, ссылочные типы именовать: КонтрагентСсылка, КонтрагентОбъект кошерно?     | |||
| 322
    
        Филиал-msk 27.09.17✎ 17:26 | 
        (321) Типы-то у 1С как раз с разделителем - СправочникСсылка.Контрагенты. Или ты про переменные типа "тип"     | |||
| 323
    
        Филиал-msk 27.09.17✎ 17:26 | 
        ?     | |||
| 324
    
        Лефмихалыч 27.09.17✎ 17:27 | 
        (317) общего языка мы здесь не найдем. По префиксам я уже всё сказал в (210). Они засоряют код и дают иллюзию самодокументируемости. Реально человеку, который будет читать твой говнокод с префиксами после тебя, плевать, что там за типы, ему будет важен будет смысл хранящихся там значений.     | |||
| 325
    
        X Leshiy 27.09.17✎ 17:27 | 
        (322) Например
 Для Каждого КонтрагентСсылка Из КонтрагентыВыборка Цикл КонтрагентОбъект = КонтрагентСсылка.ПолучитьОбъект(); КонецЦикла; | |||
| 326
    
        Лефмихалыч 27.09.17✎ 17:28 | 
        (321) в коде, где ты создаешь объекты, это допустимо - так легче понять, что в базу пишет, а что только читает.
 Мое ИМХО. | |||
| 327
    
        Филиал-msk 27.09.17✎ 17:30 | 
        (325) В общем случае 1С рекомендует избавляться от "незначащих" слов, то есть "Ссылка" тут "по умолчанию" лишнее. Контекст использования обычно решает.     | |||
| 328
    
        Филиал-msk 27.09.17✎ 17:30 | 
        (326) Вот да, хороший пример контекста     | |||
| 329
    
        Лефмихалыч 27.09.17✎ 17:30 | 
        (325) КонтрагентыВыборка в данном случае - наигралово. Это не выборка. Так делать не кошерно ни фига.     | |||
| 330
    
        X Leshiy 27.09.17✎ 17:31 | 
        (326) Ну я потому так и пишу :)
 И если изменяешь тоже, объекты. Мое ИМХО. (329) Да я как пример написал :) | |||
| 331
    
        Лефмихалыч 27.09.17✎ 17:31 | 
        (327) да вот в данном случае-то как раз имеет смысл слово Ссылка. Если код в цикле больше 10 строк, то легко потом спутать, который из контрагентов для записи, а который для чтения, нужно постоянно прыгать по коду глазами.     | |||
| 332
    
        X Leshiy 27.09.17✎ 17:33 | 
        (327) Ага, а потом попробуешь КонтрагентКакойТо.Записать(), а он ссылочный :)     | |||
| 333
    
        Филиал-msk 27.09.17✎ 17:33 | 
        (331) Неа. Имеет смысл "Объект". Там по дальнешему напихиванию данных станет понятно, что идет подготовка элемента справочника и записи. А то, откуда ты этот объект достал - уже не важно     | |||
| 334
    
        Господин ПЖ 27.09.17✎ 17:34 | 
        (317) >Осмысленные переменные цикла = г.внокод.
 они тогда и жить должны как в нормальных языках - в пределах цикла | |||
| 335
    
        X Leshiy 27.09.17✎ 17:35 | 
        (333) Да блин! :)
 КонтрагентОбъект = Выборка.КонтрагентСсылка.ПолучитьОбъект(); Полегчало? :)))) | |||
| 336
    
        Филиал-msk 27.09.17✎ 17:36 | 
        КонтрагентОбъект = Выборка.Контрагент.ПолучитьОбъект();
 Теперь да (: | |||
| 337
    
        Лефмихалыч 27.09.17✎ 17:36 | 
        (333) да, согласен     | |||
| 338
    
        X Leshiy 27.09.17✎ 17:37 | 
        (337) см. (335)     | |||
| 339
    
        Филиал-msk 27.09.17✎ 17:39 | 
        (334) 
 int i = 10; while (i > 0) { if (check() == 0) { i = -1; break; } i--; } if (i==0) { ... } Да ну, ненормальный язык какой-то | |||
| 340
    
        romix 27.09.17✎ 17:47 | 
        (318) Ага. 
   | |||
| 341
    
        ejikbeznojek 27.09.17✎ 17:54 | 
        Папа=ТекНоменклатура.родитель;
 Дедушка=Папа.родитель; Прадедушка=Дедушка.родитель; | |||
| 342
    
        X Leshiy 27.09.17✎ 17:56 | 
        (341) Сука=НаписавшийТакойКод;     | |||
| 343
    
        ejikbeznojek 27.09.17✎ 18:00 | 
        (342) Там ещё внучки, жучки и репки есть)))     | |||
| 344
    
        Господин ПЖ 27.09.17✎ 18:01 | 
        (339) для танкистов - ты счетчик создал за пределами цикла. что сказать то хотел?     | |||
| 345
    
        Филиал-msk 27.09.17✎ 18:15 | 
        (344) Это все еще счетчик цикла или для тебя уже "переменная, определенная..." ?     | |||
| 346
    
        romix 27.09.17✎ 18:27 | 
        (345) Сама тема здесь:
 Исчерпанная переменная цикла | |||
| 347
    
        Филиал-msk 27.09.17✎ 18:29 | 
        (346) см Исчерпанная переменная цикла     | |||
| 348
    
        Господин ПЖ 27.09.17✎ 18:39 | 
        (347) вот-вот. посмотри... откроешь много нового     | |||
| 349
    
        dezss 28.09.17✎ 10:07 | 
        и все?
 всего на 4 странички вайна? Да и тема постфиксов почти не раскрыта. | |||
| 350
    
        Господин ПЖ 28.09.17✎ 10:08 | 
        постфиксы это совсем глупо     | |||
| 351
    
        Лефмихалыч 28.09.17✎ 10:10 | 
        (350) хорошая попытка     | |||
| 352
    
        Мэс33 28.09.17✎ 10:10 | 
        Пишу как хочу. Обычно проекты на 1С долго не живут, все равно "все перепишут" )))     Без правил, как хочу, так и пишу | |||
| 353
    
        Лефмихалыч 28.09.17✎ 10:11 | 
        (352) не живут, если писать вот так (7)     | |||
| 354
    
        Мэс33 28.09.17✎ 10:13 | 
        (353) так и пишем.Везде, оставляя тонны какашек за собой.     | |||
| 355
    
        dezss 28.09.17✎ 10:14 | 
        (354) Франч?)))
 (350) перед "это" тире надо бы поставить. А почему глупо? | |||
| 356
    
        ildary 28.09.17✎ 10:15 | 
        (354) Писать надо так, как будто код будет читать маньяк, знающий твой домашний адрес.     | |||
| 357
    
        Мэс33 28.09.17✎ 10:15 | 
        (355) вольнонаемный ))). 1С - как хобби. Основная работа на другом стеке технологий.     | |||
| 358
    
        Мэс33 28.09.17✎ 10:16 | 
        (356) адрес не оставляю )).     | |||
| 359
    
        ildary 28.09.17✎ 10:17 | 
        (358) мы все равно до тебя доберемся (натачивая топор)     | |||
| 360
    
        Мэс33 28.09.17✎ 10:18 | 
        (359) все равно не буду переписывать ))).
 Работает же? | |||
| 361
    
        Филиал-msk 28.09.17✎ 10:18 | 
        (358) Это уже не требуется, Болатбек Жумабаевич (:     | |||
| 362
    
        Мэс33 28.09.17✎ 10:19 | 
        (361) это я никогда не прятал ). 
 Без проблем. | |||
| 363
    
        Мэс33 28.09.17✎ 10:28 | 
        На своей памяти нигде не встречал, чтобы франч (сталкивался как минимум с 4мя) соблюдал какое-нибудь соглашение о коде и писал одинаково.
 Ко мне в компанию могли прийти несколько разных прогеров из одного и того же франча и писать совершенно по-разному. | |||
| 364
    
        dezss 28.09.17✎ 10:29 | 
        (363) потому и спросил, не франч ли ты)))     | |||
| 365
    
        Мэс33 28.09.17✎ 10:31 | 
        (364) не, я чаще бывал на стороне заказчиков.
 Во франче на 7.7 работал лет где-то 13 назад. На 1С я сам редко пишу. Только если очень просят что-то доработать. | |||
| 366
    
        Филиал-msk 28.09.17✎ 10:31 | 
        (363) Уточню (356):
 ... код твоих разработчиков будет читать маньяк, знающий адрес твоей фирмы (: | |||
| 367
    
        Мэс33 28.09.17✎ 10:33 | 
        (366) у нас таких маньяков просто...просто нет.
 Крутые 1Сники сидят тихонько в теплых местах и пилят годами нетленку. Во-вторых, очень часто даже если видишь написанную какашку, то вряд ли пойдешь искать автора ))), а просто для заказчика увеличишь цену на "ну надо разобраться, что тут налабали". | |||
| 368
    
        romix 28.09.17✎ 13:27 | 
        (210) >венгерская нотация - отстой времен палеолита. Ни чего не дает, только время отнимает и раздувает код. В особенности - для языков с не строгой типизацией. 
 1) Дает отстройку от имен 1С и реквизитов (платформа, общие модули), реквизитов объекта и формы (их имена пишутся по стандарту). В том числе, и еще не добавленных. 2) Ускоряет ввод длинных имен через автозавершение (скажем, Контрагенты и тзКонтрагенты - в последнем случае набираете тзк и имеете либо совпадение, либо короткий список выбора). Другая альтернатива - перечислять в Перем - но тогда было бы логично требовать обязательности этого перечисления. Либо как у Go - инициализирующее присваивание. >Сильно веселящими получаются булевские переменные. бЭтоБрак Читается, как "Б*%№дь! Это брак!" Можно префикс а - аЭтоБрак (кто такой Буль, если логику, включая троичную, придумал Аристотель), либо по области видимости. Либо не забыть про Перем. >Эти префиксы дают иллюзию самодокументируемости, нагружая при этом программистов бестолковой вознёй. префиксы тз, ст, с, м - выглядят очевидными и помогают читать код (чтобы не подглядывать выше по коду - где таблица значений, где структура, а где - массив). В принципе, программист может использовать такие имена на ранних этапах написания кода (чтобы уменьшить клавиатурный ввод и возвраты курсора вверх к описанию Перем, а потом переименовывать "рефакторингом" под стандарт и расставить всё новое в Перем). | |||
| 369
    
        romix 28.09.17✎ 13:36 | 
        Для стандартных имен возникнет еще и проблема плохо читаемого кода - читатель не видит, какому контексту принадлежит то или иное имя - реквизит ли это, общий модуль или локальная переменная. Описание Перем или объявление переменной дают такое понимание - но к ним надо возвращаться, прокручивая курсор вверх, либо помнить весь объем имен (включая платформу, БСП, реквизиты и объявления вверху функции). Поэтому префиксы существенно разгружают разработчика и никого не надо к их применению принуждать. Почему принуждают к обратному и кто эти люди (разработчики ли они сами или, скажем, администраторы-эстеты, которые сами не кодят) - мне не до конца понятно.     | |||
| 370
    
        infosoft-v 28.09.17✎ 14:22 | 
        (368) Коллега, полностью согласен с вашими выводами. Исходя из аналогичных предпосылок разработали "внутренний стандарт" префиксации и придерживаемся его в разработке.
 Использование префиксов совместно с использованием принципов защитного программирования сильно уменьшили количество ошибок в коде. Искать ошибки стало гораздо проще. Префиксы по типу данных (сз, тз, м/мас, ...) | |||
| 371
    
        Лефмихалыч 28.09.17✎ 15:53 | 
        (368) 
 1. я тебе отвечал уже на это. 2. Это бред. ОДИНАКОВЫЕ префиксы не могут ни чего ускорять. О каком вообще уменьшении ввода ты ведешь разговор, когда предлагаешь вводить с клавиатуры ДОПОЛНИТЕЛЬНЫЕ буквы к имени переменной? | |||
| 372
    
        romix 28.09.17✎ 16:25 | 
        (371) 1. И кто из кодеров (а не руководителей над ними) разделяет этот ответ?
 2. Это на практике проверяется - есть частотность слов, букв. Набираете Ко - получаете половину словаря (Контрагент, Колонка, Корова, КонецДня, КонецГода, КонецПериода, Количество...). Набираете тз - получаете только тз. Сколько их может быть в функции - одна или две. У вас же в личной карточке есть это сокращение. Род занятий: из ХЗ делаю ТЗРасшифруете полным текстом? Вот то-то и оно, сразу потеряется весь шарм. | |||
| 373
    
        romix 28.09.17✎ 16:32 | 
        +(368) "Постоянными предметами изучения были для Буля метафизика Аристотеля..."
 https://ru.wikipedia.org/wiki/Буль,_Джордж Неправильно назвали тип (имхо), и сокращать его надо буквой а. | |||
| 374
    
        Господин ПЖ 28.09.17✎ 16:34 | 
        >только время отнимает и раздувает код
 хосподи... все вокруг и так уверенны что 1с-никам платят за "строчку кода". ну и сущности в русском языке длиннее чем в английском - это и козе понятно | |||
| 375
    
        Dzenn гуру 28.09.17✎ 16:37 | 
        Перем Ы; // Штоб никто не догадался     | |||
| 376
    
        romix 28.09.17✎ 16:54 | 
        (375) Вот взаимоисключающий параграф на эту тему:
 https://its.1c.ru/db/v8std#content:2149184103:hdoc 4. Имена переменных не должны состоять из одного символа. Использование односимвольных имен переменных допускается только для счетчиков циклов. | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |