Вниз
Скачать: CL | DM;

Как лучше?   Найти похожие ветки 

← →
Igor_thief   (2005-01-11 20:46) [0]

Насколько эфективно делать вот-так:
procedure Test;
var
 a ....;
 procedure Inside;
 begin
  ...
  a := ...
  ...
 end;
begin
 ...
 Inside;
 ...
end;

Или лучше сделать переменную А глобальной и вынести процедуру Inside (процедур внутри, а также переменных может быть много).


← →
vecna ©   (2005-01-11 21:27) [1]

Переменная A еще где-нить используется? Нет? Тогда нафик ее делать глобальной. Лучше сделать

procedure Inside(var a...)

и не париться с уровнем видимости =)


← →
Palladin ©   (2005-01-11 21:45) [2]

С глобальной переменной быстрее выполнятся будет :) Особенно это видно на стомиллионной итерации... отставание аж на 2 десятых секунды...


← →
Igor_thief   (2005-01-12 12:11) [3]

Palladin ©   (11.01.05 21:45) [2]
:)
vecna ©   (11.01.05 21:27) [1]
Я провтыкал, А используется еще и в основной (Test) процедуре. Да и в примере я указал только переменную А (для простоты), но в реальной ситуации переменных больше.


← →
Sandman25 ©   (2005-01-12 14:15) [4]

Если процедура относится только к другой процедуре и не несет самостоятельного смысла, я ее делаю внутренней.
Если несет, делаю отдельной процедурой с передачей параметров в виде параметра типа record или вообще нетипизированного.
Глобальные переменные не поддаются оптимизации, увеличивают требования к памяти, усложняют понимание и модификацию кода (их описание не находится возле того места, где они используются).


← →
Igor_thief   (2005-01-12 16:02) [5]

Sandman25 ©   (12.01.05 14:15) [4]
Большой сенкс!



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.039 c
14-1105185195
Ломброзо
2005-01-08 14:53
2005.01.23
Как "притормозить" Apache?


14-1104683589
Piter
2005-01-02 19:33
2005.01.23
Какие сайты вы посещаете?


14-1104290969
gn
2004-12-29 06:29
2005.01.23
Россия: отпечатки пальцев сдаст каждый


14-1104786470
KilkennyCat
2005-01-04 00:07
2005.01.23
Чисто админский вопрос.


14-1104480576
gn
2004-12-31 11:09
2005.01.23
ПОЗДРАВЛЯЮ С НОВЫМ




   Наверх