Skip to content

Conversation

@nixel2007
Copy link
Member

Из обсуждения #53 (comment)

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Сорри за занудство, но кто-нибудь может мне объяснить (может, @EvilBeaver ?), почему в скриптах 1script прямо вот принято стало все параметры процедур передавать через Знач? И если мы уже через Знач гарантировали неизменность исходной переменной, зачем тогда делать отдельное копирование в переменную Результат?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

отвечу со своей стороны.

  1. Глобально Знач - рекомендация со стороны 1с. Меньше сериализовывать при перемещении с клиент-сервер и все такое (правда тут нет клиент-сервера). С точки зрения вызывающей функции такая сигнатура позволяет мне быть уверенным, что с моими параметрами ничего не случится, что по крайней мере в части параметров функция без побочных эффектов.
  2. Отдельная переменная под результат - привычка и стандарты кода в организации, где я работаю.

P.S. Естественно готов переделать под стандарты, принятые в команде проекта xDrivenDevelopment

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Знач это хорошо, я еще со времен C++ люблю и уважаю const

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@artbear , const и Знач - это вообще разные вещи! const в c++ только лишь говорит компилятору, что переменную нельзя изменять. Это не приводит побочным эффектам в виде увеличения нагрузки на процессор или перерасходу памяти. В 1С Знач приводит к копированию значения (а значит, выделению памяти). А в данном случае копирование происходит 2 раза. Понятно, что в данном скрипте это не играет вообще никакой роли. Но я против необдуманного использования Знач везде и всюду, только потому, что это рекомендует 1С. Например, будете сочинять какой-нибудь сложный рекурсивный алгоритм с большим уровнем вложенности, и из-за Знач можете получить большой перерасход памяти. @nixel2007 правильно сказал, что здесь нет никаких клиент-серверных вызовов, в которых Знач крайне желателен.

artbear added a commit that referenced this pull request Nov 13, 2015
Добавлена процедура оборачивания в кавычки с учетом бэкслэша
@artbear artbear merged commit 98d7ad3 into xDrivenDevelopment:develop Nov 13, 2015
@nixel2007 nixel2007 deleted the fix-backslash-in-path branch November 13, 2015 11:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants