Имя: Пароль:
1C
1С v8
Вызов однотипных функций
0 Mort
 
19.07.11
12:10
1. Оба отстой. Вот мой вариант: 67% (2)
2. Второй вариант 33% (1)
3. Первый вариант 0% (0)
Всего мнений: 3

Есть некая числовая переменная X принимающая значения 1,2,3
Есть три функции:

Функция Получить1()
Функция Получить2()
Функция Получить3()

В зависимости от значения X необходимо вызвать соответствующую функцию.

Вариант 1: Сделать общую функцию, которая анализирует X и вызывает нужное

Функция Получить(Х)
  Если X = 1 Тогда Возврат Получить1();
  ИначеЕсли X = 2 Тогда Возврат Получить2(); // и т.д.


Вариант 2: Использовать "Выполнить" для вызова:
 
  Выполнить("Получить"+ X + "()");


Какой вариант по вашему мнению лучший и почему?
1 zak555
 
19.07.11
12:11
написать одну функцию

Оба отстой. Вот мой вариант:
2 Ненавижу 1С
 
гуру
19.07.11
12:12
зависит от того насколько эти функции различны, но чаще всего параметры рулят
3 zak555
 
19.07.11
12:12
(2) так название темы : "Вызов однотипных функций"
4 palpetrovich
 
19.07.11
12:13
если функции действительно однотипные - тогда одна с аргументом, а нет - возможно что 3 функции будут предпочтительней
имхо
5 Ненавижу 1С
 
гуру
19.07.11
12:13
(3) ну а пример потом какой-то "неоднотипный" дан
6 Maxus43
 
19.07.11
12:14
Написать одну, параметрами разруливать.
7 Mort
 
19.07.11
12:21
(3) Однотипных значит принимающих и возвращающих значения одного типа. Внутри разные.
8 Mort
 
19.07.11
12:25
http://c2p.ru/knigi/robert-martin-chistyi-kod-sozdanie-analiz-i-refaktoring.html

Тут, например, автор крайне негативно относится к регулированию действия функции параметрами. Т.е. одна функция должна делать что-то одно.
9 Jstunner
 
19.07.11
12:27
сферический конь в вакууме?
10 Stim213
 
19.07.11
12:28
одна функция

Оба отстой. Вот мой вариант:
11 palpetrovich
 
19.07.11
12:30
(8) Роберт Мартин, Издательство: Питер
явно засланец, то-бишь шнион :) ...цель - развалить русское программирование изнутри :))
12 Reset
 
19.07.11
12:35
,

Второй вариант
13 Ненавижу 1С
 
гуру
19.07.11
14:43
(8) ну да, можно вообще полиморфизм юзать, но в 1С ли?