Укажите константу вместо переменной для нежелательных параметров - PullRequest
0 голосов
/ 02 октября 2019

Допустим, вы используете предопределенную функцию с возвращаемыми параметрами, которые не нужны. Для пояснения: либо функция не нуждается в значении, либо вам не нужен результат, либо и то и другое.

Есть ли какой-либо недостаток или проблема с использованием константы в вызове? Или лучше создать временную переменную только для того, чтобы выполнить вызов?

Цель состоит в том, чтобы уменьшить определения переменных в вызывающей программе. Определение подпрограммы не может быть изменено. Вопрос в том, целесообразно ли в этом случае предоставлять / рекомендовать предоставление константы.

Dim res As Double = 2.0#
''' do not need second/third results, third value isn't used
''' calling the function this way saves creating two extra variables
Call AddOneTwoThree(res, 3.0#, 0.0#)

''' this function cannot be changed
Public Sub AddOneTwoThree(ByRef first As Double, ByRef second As Double, ByRef third As Double)
    first = first + second
    second = second + third
    third = third
End Sub

1 Ответ

0 голосов
/ 24 октября 2019

Поэтому я думаю, что комментарии, предоставленные tntinmn и jmcilhinney , являются хорошими ответами с моей точки зрения.

0.0# или Nothing можно указать дляПараметр ByRef Double, если результат не требуется, если предположить, что значения 0.0# не влияют отрицательно на вывод.

Я проверил с Nothing, и результат такой же, как если бы 0.0# былуказано.

...