|
Расположение подпрограмм в модуле друг относительно друга | ☑ | ||
---|---|---|---|---|
0
Kifsif
03.01.15
✎
13:45
|
Пишу код, нужна, например, вспомогательная функция.
Быстро иду либо непосредственно выше текущей процедуры или функции и создаю там нужную функцию. Либо непосредственно ниже. В общем, коллеги что-то ругаются - дескать, код у меня какой-то не такой. Причем, я понять не могу, что им не нравится. Я знаю, что при программировании на ряде языков подпрограмма должна быть в коде выше того места, где она используется. А также при разработке хранимых процедур для некоторых СУБД (например, Oracle), принято вручную упорядочивать их по алфавиту, иначе потом вообще не найдешь. Но в 1С это все без разницы. Посмотрел стандарт оформления кода при разработке под 1С, не нашел ничего подходящего. Ну, документ довольно объемный. Может, не туда смотрел. В общем, был бы признателен за совет - как лучше организовывать подпрограммы в модулях. |
|||
1
mehfk
03.01.15
✎
13:52
|
Показывай код, покритикуем :)
|
|||
2
Kifsif
03.01.15
✎
13:59
|
Да ну, что ты. Речь о довольно пространных программах Тут вопрос не про конкретный код, а про компоновку. Ну, ребятам там что-то копировать неудобно мой код. Потом. Т.е. они через полгода лезут в старый код, делать на его основе пытаются, а там подпрограммы. Ну, они их давай искать потом по коду. Бред какой-то.
Вы мне скажите, стандарт оформления кода говорит об этом что-нибудь? Или как вообще принято. |
|||
3
PLUT
03.01.15
✎
14:11
|
(2) посмотри БСП и типовую БП3.0, УТ11
щас так модно |
|||
4
mehfk
03.01.15
✎
14:16
|
(2) Научи их нажимать f12
|
|||
5
mehfk
03.01.15
✎
14:17
|
>> Вы мне скажите, стандарт оформления кода говорит об этом что-нибудь? Или как вообще принято.
Посмотри как в типовых конфигурациях функции модулей форм упорядочены. |
|||
6
Escander
03.01.15
✎
14:24
|
(0) >Я знаю, что при программировании на ряде языков подпрограмма должна быть в коде выше того места, где она используется. А также при разработке хранимых процедур для некоторых СУБД (например, Oracle), принято вручную упорядочивать их по алфавиту, иначе потом вообще не найдешь.
Про Оракл - бред! Такое принято только в ряде языков, как правило в интерпретируемых, где интерпретатор ищет в коде расположенном ранее... так было в 7.7, но в 8.* взаимное место расположения точки вызова и вызывваемой процедуры/функции не имеет значения. Но етсь правило которому неплохо-бы следовать: если возможно этот кусок кода будет нужен более чем в модуле - вынести его в общий модуль |
|||
7
Kifsif
03.01.15
✎
14:38
|
(6) А ты учил PL/SQL?
|
|||
8
Armando
03.01.15
✎
14:50
|
||||
9
Zhuravlik
03.01.15
✎
14:52
|
(8) + 1 - читать как молитву перед сном :)
Я в шаблонах сделал вызов такого когда по строке "/СтруктураМодуля": ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ СОБЫТИЙ ФОРМЫ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ СОБЫТИЙ ЭЛЕМЕНТОВ ШАПКИ ФОРМЫ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ СОБЫТИЙ ТАБЛИЦЫ ФОРМЫ <ИМЯ ТАБЛИЦЫ ФОРМЫ> //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // ОБРАБОТЧИКИ КОМАНД ФОРМЫ //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// // СЛУЖЕБНЫЕ ПРОЦЕДУРЫ И ФУНКЦИИ |
|||
10
Zhuravlik
03.01.15
✎
14:53
|
+ на 8.3. можно использовать области, но как по мне - так нагляднее...
|
|||
11
Zhuravlik
03.01.15
✎
14:56
|
Еще функции и процедуры всегда предваряю отчерком, в моих шаблонах вызывается по "/*":
<?>//================================================================================================[<?"", ДатаВремя, "">]= Получается такое вот: //================================================================================================[03.01.2015 14:55:03]= &НаКлиенте Процедура ИмяМоейПроцедуры() КонецПроцедуры В итоге вижу когда что делал, и н превышаю длину строк в коде более 120 символов (по стандарту оформления из (8) ) |
|||
12
Zhuravlik
03.01.15
✎
14:57
|
Почему-то миста вставляет перевод каретки после строки комментария, у меня такого нет в общем.
|
|||
13
mehfk
03.01.15
✎
14:58
|
(6) В 7.7 было модное в Си слово "Далее" (В Си оно forward'ом зовется). Использовалось для опережающего описания.
|
|||
14
GROOVY
03.01.15
✎
15:25
|
У меня в шаблонах давно есть описание структуры модуля:
http://goo.gl/M9CyKC http://1c.chistov.pro/2013/09/83_15.html Вот, к примеру модуль формы: #Область ОбработчикиСобытийФормы #КонецОбласти #Область ОбработчикиСобытийЭлементовШапкиФормы #КонецОбласти #Область ОбработчикиСобытийЭлементовТаблицыФормы<ИмяТаблицыФормы> #КонецОбласти #Область ОбработчикиКомандФормы #КонецОбласти #Область СлужебныеПроцедурыИФункции #КонецОбласти |
|||
15
Escander
03.01.15
✎
15:41
|
(7)писал на Оракле 3 года... ещё на Oracle-7
|
|||
16
Escander
03.01.15
✎
15:42
|
(13) которым как правило никто не пользовался
|
|||
17
mehfk
03.01.15
✎
16:06
|
Почему "Как правило" ?
|
|||
18
Kifsif
03.01.15
✎
17:03
|
(15) Ну, не знаю. В общем, там есть механизм упорядочивания хранимок.
|
|||
19
Asmody
03.01.15
✎
18:04
|
От слова "подпрограмма" повеяло нафталином
|
|||
20
Kifsif
03.01.15
✎
18:13
|
(19) А какой термин ты используешь?
|
|||
21
Asmody
03.01.15
✎
18:15
|
Обычно "метод". Ну или "функция", "процедура".
|
|||
22
Escander
03.01.15
✎
18:15
|
(18) в смысле? ты их не по имени вызываешь, а по индексу?
|
|||
23
Kifsif
03.01.15
✎
18:17
|
(21) А чем подпрограмма не угодила?
|
|||
24
Escander
03.01.15
✎
18:17
|
(21) от метода веет ООП, 1С он всё-же лишь ПроблемноОриентированный и наличие конструкторов это лишь дань моде.
|
|||
25
Asmody
03.01.15
✎
18:18
|
(22) а что, в Visual FoxPro вообще нет единого модуля. Там каждый метод в отдельной записи таблицы хранится.
|
|||
26
Escander
03.01.15
✎
18:18
|
(23) ну этот термин растёт из процедурных ЯП
|
|||
27
Escander
03.01.15
✎
18:20
|
(25) ну мы типа как про оракл, там хранимые процедуры хранятся в откомпилированном виде (в отличии от например триггеров... хотя возможно с триггерами что-то изменилось в последние года)
|
|||
28
Escander
03.01.15
✎
18:25
|
(25) Хранимые-то? так это стандартное решение по храннению их в базе (в системной таблице)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |