|
Когда фунциональные опции применяют ? | ☑ | ||
---|---|---|---|---|
0
EarthsSoul
28.07.17
✎
07:06
|
Добрый день
Подрядчик выполняет работы, я веду аудит кода. Так вот было множество замечаний к коду и одно из них обращение к получению констаны (прямо процедурах написано Константы.ВидНоменклатурыСпециальный.Получить() ). После рефакторинга со стороны подрядчика, обращение к константам переделали на обращение к функциональным опциям ПолучитьФункциональнуюОпцию("ВидНоменклатурыСпециальный") Я предполагал в не частых случаях переделать на предопределенные значения справочника вида номенклатуры, в случаях почаще использовать параметры сеанса. Вот у меня вопрос не ужели функциональные опции целесообразно так использовать ? Я думал у них совсем другое назначение. Можно ли завявить что обращение к ПолучитьФункциональнуюОпцию("ВидНоменклатурыСпециальный") Более оптимально в коде чем Константы.ВидНоменклатурыСпециальный.Получить() ? |
|||
1
Рэйв
28.07.17
✎
07:10
|
А замерять время выполнения не позволяет длина цепи от батареи?
|
|||
2
EarthsSoul
28.07.17
✎
07:13
|
Сейчас попробую, интересно мнение экспертов, потом напишу результаты замеров ))
|
|||
3
igorPetrov
28.07.17
✎
07:37
|
Вот точно, людям делать нечего...
|
|||
4
EarthsSoul
28.07.17
✎
07:37
|
Да лучше, но мне кажется это оригинальное использование функциональных опций
Количество обращений Чистое время Процент ИзПараметрыСенаса = ПараметрыСеанса.СпецВидНоменклатуры; 100 000 3,367411 3,91 ИзСправочника = Справочники.ВидыНоменклатуры.СпецВидНоменклатуры; 100 000 5,036589 5,84 ИзФункциональнойОпции = ПолучитьФункциональнуюОпцию("СпецВидНоменклатуры"); 100 000 9,122305 10,59 ИзКонастаны = Константы.СпецВидНоменклатуры.Получить(); 100 000 58,387468 67,75 |
|||
5
igorPetrov
28.07.17
✎
07:40
|
(4) Что тебе это дает? В коде 100 000 раз получают значение константы? Если да, то вопрос зачем? Если нет, так какая разница?
|
|||
6
yzimin
28.07.17
✎
07:50
|
(0) А если константа не привязана к ФО?
|
|||
7
mikeA
28.07.17
✎
08:29
|
(3) +1
(0) Сделай справочник с настройками и код получения в общем модуле с повторным использованием значений если уж так интересует быстродействие. Только imho это последнее что нужно оптимизировать. А про справочник кстати вспомнишь когда таких настроек станет over 9000 )) |
|||
8
igorPetrov
28.07.17
✎
08:37
|
Такого "аудитора" гнать нужно тряпками... имхо, ситуацию в контексте смотреть нужно. И не высасывать проблему из пальца.
|
|||
9
EarthsSoul
28.07.17
✎
08:49
|
(8) что самоценка храмает ? Что за нападки ?
|
|||
10
bodri
28.07.17
✎
08:50
|
Если не изменяет память, обращение к функциональной опции всегда в привилегированном режиме, а к константе нет, поэтому целесообразней пользоваться ФО, чтоб не парится с правами на константу
|
|||
11
EarthsSoul
28.07.17
✎
08:55
|
(10) есть такой момент
плюс ко всему функциональная опция является оберткой которая может хранится в разных структурах данных, и замена источника информации может быть полезна. |
|||
12
Галахад
гуру
28.07.17
✎
09:01
|
(4) Можно ли завявить что обращение к ... Более оптимально в коде чем ...
В 6 раз. Чего еще надо? |
|||
13
Джо-джо
28.07.17
✎
09:03
|
(9) "храмает"
Проведите лучше аудит учебника по русскому языку |
|||
14
Джо-джо
28.07.17
✎
09:04
|
Кстати, пробел перед знаками препинания не ставится
|
|||
15
igorPetrov
28.07.17
✎
09:09
|
(14) Вот так и код аудирует.
|
|||
16
Diversus
28.07.17
✎
09:15
|
По факту, что подрядчик переделал - это то же самое. Функциональная опция скорее всего хранится в константе. Раньше проверяли константу, сейчас опцию, значение которой в этой же константе =)
|
|||
17
Diversus
28.07.17
✎
09:18
|
Если константа читается часто, имеет смысл вынести ее в модуль с повторным использованием возвращаемых значений.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |