Я обычно стараюсь избегать ByRef
всего вместе, это часто заканчивается уродством и путаницей.Тот факт, что вы смешиваете ByVal
и ByRef
, не влияет на читабельность больше, чем просто наличие всех ByRef
ИМХО.
Например, если мне нужно только имя файла, я бы все равнонужно передать переменную размера файла, что, я думаю, делает ее немного уродливее.И при чтении кода может быть легко пропустить, что параметр может быть изменен.
Как говорит Ассаф в своем комментарии, вместо этого я обычно пытаюсь обойти всю проблему, заставляя метод возвращать какую-то структуру, которая может содержать все возвращаемые данные.и если это не удастся, я сгенерирую исключение, а не верну статус (при условии, что это какая-то ошибка).