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

1С:Предприятие ::

Метки:Встроенный язык

Язык 1С 8.0/2С: разделение контекстов (зацените идею)

Я
   romix
 
21.07.04 - 03:46
По 7.7 мы знаем, что если не пометить общедоступные переменные, процедуры и функции, которые описаны в глобальном модуле, специальным префиксом (в типовых конфигурациях разработчики используют префикс "гл"), то при чтении кода будут возникать трудности: определение процедуры будет тяжело найти, а код будет читаться не так легко и приятно, как хотелось бы.

В 1С версии 8.0 контекстов стало больше: добавились общие модули и модули прикладных объектов. Чтобы добавить в код ясности, можно специфицировать область определения экспортируемых процедур, функций и переменных каким-нибудь префиксом, наподобие "гл" в 7.7 (но разным для каждого случая), либо показывать такие префиксы автоматически. Я бы предложил такую систему префиксов, а ля "гл" в 7.7 (но с точкой):

сист. - системные процедуры, функции, переменные и константы.
гл.ИмяМодуля. - общие модули, модуль приложения и внешнего соединения.
об. - Свойства и методы текущего прикладного объекта
мо. - Модуль текущего прикладного объекта
мф. - Модуль формы

Помимо ясности кода, они позволят быстрее и безошибочнее набирать код.

Например, набрав "сист." и несколько первых букв, разработчик получит список системных процедур, функций и констант, которые начинаются на эти буквы, и сможет выбрать нужное имя из выпадающего списка. Аналогично, набрав "мо.", человек получит список экспортируемых процедур из модуля объекта, и система поможет ему безошибочно набрать или выбрать из списка имя нужной процедуры.

В текстовом редакторе я бы сделал опцию, позволяющую отображать вышеуказанные префиксы или скрыть, т.к. нужны они только в текстовом редакторе (чтобы удобнее просматривать и редактировать код), а собственно для системы 1С - не нужны.

Вот такая идея. Может быть, прокатит и для системы 2С; там я попытался разбираться с кодом, но слегка напрягся: при чтении кода было совершенно непонятно, что где определено. :-)
 
  Рекламное место пустует
   romix
 
1 - 21.07.04 - 03:59
(+0) кое-что забыл:
ро. - Реквизиты объекта
рф. - Реквизиты формы
Я имею в виду реквизиты текущего объекта. Например, в модуле документа доступны реквизиты этого документа. Так вот, префикс "ро." будет перед такими реквизитами. Во-первых, он покажет читателю кода, "что это такое", а во-вторых, поможет человеку, пишущему код, безошибочно набрать реквизит выбором из списка.
Он пишет "ро" (реквизиты объекта), ставит точку и получает полный список доступных реквизитов для текущего объекта (например, справочника или документа).


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