Почему 1С-ники
От: okurietz Россия  
Дата: 30.08.04 15:12
Оценка: :)
Работает у нас в конторе чел (недавно пришел) — 1сник.
Седня спросил у другого 1сника:
""
Ответь мне, пожалуйста, на риторический вопрос. (!!!)
Почему 1сники так любят передавать параметры в процедуры? Вообще зачем передавать в процедуру параметры? Ведь проще сделать глобальные переменные...
""

Люди ударились в небольшую панику.
Re: Почему 1С-ники
От: Young Россия yunoshev.ru
Дата: 30.08.04 15:23
Оценка:
Здравствуйте, okurietz, Вы писали:

O>Работает у нас в конторе чел (недавно пришел) — 1сник.

O>Седня спросил у другого 1сника:
O>""
O>Ответь мне, пожалуйста, на риторический вопрос. (!!!)
O>Почему 1сники так любят передавать параметры в процедуры? Вообще зачем передавать в процедуру параметры? Ведь проще сделать глобальные переменные...
O>""

O>Люди ударились в небольшую панику.


А мне вот хочется поубивать в последнее время любителей глобальных и статических переменных.....

Ибо на той платформе с которой я работаю нету статических неконстантных данных....


А вообще корректный ответ на это — ибо у каждого объекта (а переменная это объект) должен быть владелец и распоряжаться ею может только он.
Re[2]: Почему 1С-ники
От: Apostate  
Дата: 30.08.04 17:01
Оценка:
Y>А мне вот хочется поубивать в последнее время любителей глобальных и статических переменных.....
Y>Ибо на той платформе с которой я работаю нету статических неконстантных данных....

Из зависити получается?
Re: Почему 1С-ники
От: GuinPin  
Дата: 30.08.04 19:33
Оценка: :)))
Здравствуйте, okurietz, Вы писали:

O>Почему 1сники так любят передавать параметры в процедуры? Вообще зачем передавать в процедуру параметры? Ведь проще сделать глобальные переменные...


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

Да и вообще... Кто с 1С работал, тот в цирке не смеется.
С уважением, Сошников Иван
Re[2]: Почему 1С-ники
От: Infix Россия http://polos75.livejournal.com/
Дата: 31.08.04 01:30
Оценка: -1 :))
Здравствуйте, Young, Вы писали:

Y>А вообще корректный ответ на это — ибо у каждого объекта (а переменная это объект) должен быть владелец и распоряжаться ею может только он.


Не "должен быть", а "было бы удобнее, если бы был". Скрытие данных вещь сама по себе искусственная и несет только удобство программисту и замедление времени работы. У глобальных переменных один минус — они постоянно живут в памяти.
Re[3]: Почему 1С-ники
От: Дарней Россия  
Дата: 31.08.04 04:12
Оценка: 3 (1)
Здравствуйте, Infix, Вы писали:

I>Не "должен быть", а "было бы удобнее, если бы был". Скрытие данных вещь сама по себе искусственная и несет только удобство программисту и замедление времени работы. У глобальных переменных один минус — они постоянно живут в памяти.


Это был ты, да?
Всех излечит, исцелит
добрый Ctrl+Alt+Delete
Re[4]: Почему 1С-ники
От: Infix Россия http://polos75.livejournal.com/
Дата: 31.08.04 04:38
Оценка:
Здравствуйте, Дарней, Вы писали:

Д>Это был ты, да?


Я как раз за удобства программиста. А глобальные переменные использую только когда нужно за вечер сделать трехдневную работу и некогда разбираться, сколько параметров нужно скормить процедуре.
Re[5]: Почему 1С-ники
От: Кодт Россия  
Дата: 31.08.04 06:05
Оценка: 2 (1) +2
Здравствуйте, Infix, Вы писали:

I> Я как раз за удобства программиста. А глобальные переменные использую только когда нужно за вечер сделать трехдневную работу и некогда разбираться, сколько параметров нужно скормить процедуре.


Про структурное программирование не забыли, да?
Каждая процедура имеет некоторый контекст выполнения. В принципе, достаточно такого объявления на все случаи жизни:
struct Context;
struct Args;
struct Result;
void routine(/*in,out*/ Context& context, /*in*/ const Args& args, /*out*/ Result& result);

и затем пихать в объявления этих структур всё, что нужно, в том числе не только в данной процедуре, но и в том, что она будет вызывать.

Если мы немного с другой стороны взглянем, то получим...
class Args;
class Result;

// требуется полное объявление хотя бы типа Result

class Context
{
public:
  Result routine(const Args& args);
  ...
};

Знакомо, не правда ли?
http://files.rsdn.org/4783/catsmiley.gif Перекуём баги на фичи!
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.