Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / WinForms, .Net Framework Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3 4 5   вперед  Ctrl      все
 ref и out параметры  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72765
Мой кодревьюер постоянно клюет мне моск, что использовать ref и out плохо, это слишком low level по его выражению. Я считаю, что не использовать какую-то возможность языка из идейных соображений (исключая goto, но это ограничение хорошо обосновано) - тупо.

Кто что думает по этому поводу?
15 май 19, 16:33    [21885526]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Roman Mejtes
Member

Откуда: г. Пермь
Сообщений: 3404
Antonariy
Мой кодревьюер постоянно клюет мне моск, что использовать ref и out плохо, это слишком low level по его выражению. Я считаю, что не использовать какую-то возможность языка из идейных соображений (исключая goto, но это ограничение хорошо обосновано) - тупо.

Кто что думает по этому поводу?

бред, так ему и передай :)
он видимо не пользуется TryGetValue или TryParse, это же low level!
15 май 19, 16:37    [21885532]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72765
Еще говорит, сложно читать и мешает композиции. Насчет первого это его личная проблема, мне читается прекрасно, а насчет композиции мне непонятно, о чем речь.
15 май 19, 16:49    [21885555]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Antonariy,
Пример его варианта дайте.
15 май 19, 17:00    [21885578]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
fkthat
Member

Откуда:
Сообщений: 1163
Дело не в лоулевеле По сути метод с out/ref это метод с side effect, что не особо хорошо. Единственное, наверное, разумное применение, что я им вижу - это как раз упомянутый TryDoSomething(out blaBalBla). И то, можно заметить, что большинство таких стандартных методов всегда ходят парами - один с возможным ексепшеном, другой с "TryXXX".
15 май 19, 17:32    [21885621]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72765
Насчет композиции тоже бред, как выяснилось.
15 май 19, 17:48    [21885638]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72765
Petro123
Antonariy,
Пример его варианта дайте.
если нужно вернуть несколько значений, его вариант - наплодить классов.
кортежи пока не используем, потому что сидим на 4м фреймворке.
15 май 19, 17:54    [21885642]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72765
fkthat
По сути метод с out/ref это метод с side effect, что не особо хорошо.
Слишком абстрактно. Какие именно эффекты?
15 май 19, 17:55    [21885643]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Antonariy,
Вон, в java вообще нельзя два выходных параметра.
Но писать то неудобно с непривычки))
15 май 19, 17:58    [21885646]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Antonariy
Petro123
Antonariy,
Пример его варианта дайте.
если нужно вернуть несколько значений, его вариант - наплодить классов.
кортежи пока не используем, потому что сидим на 4м фреймворке.
значит он из java
15 май 19, 17:59    [21885647]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
fkthat
Member

Откуда:
Сообщений: 1163
Antonariy,

CA1045: Do not pass types by reference
15 май 19, 18:11    [21885653]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
fkthat
Member

Откуда:
Сообщений: 1163
Antonariy
если нужно вернуть несколько значений, его вариант - наплодить классов.
кортежи пока не используем, потому что сидим на 4м фреймворке.


В этом есть разумное зерно. Если метод возвращает сразу несколько значений, то, скорее всего эти значения достаточно тесно связаны и класс для них смысл имеет. Если они вообще никак не связаны, значит с методом что-то нездоровое - скорее всего нарушение single responsibility. Лично я кортежи использую обычто только как замену анонимным классам (чаще всего просто запись короче получается), например:

foreach((string en, string ru) color in new[] { ("red", "красный"), ("green", "зеленый"), ("blue", "синий") }) 
{
    Console.WriteLine($"{color.en} -> {color.ru}");
}


Из метода кортежи я бы возвращать не стал.
15 май 19, 18:27    [21885662]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Antonariy,
А var он использует?
В java позавчера только появилось)))
15 май 19, 18:49    [21885674]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20437
Antonariy
кортежи пока не используем, потому что сидим на 4м фреймворке.
4-й фреймворк никак не мешает использованию кортежей. Вот буквально недавно Випросу пример приводил
15 май 19, 20:10    [21885702]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20437
Shocker.Pro
Antonariy
кортежи пока не используем, потому что сидим на 4м фреймворке.
4-й фреймворк никак не мешает использованию кортежей. Вот буквально недавно Випросу пример приводил
21857815
15 май 19, 20:14    [21885707]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
fkthat
Member

Откуда:
Сообщений: 1163
Petro123
В java позавчера только появилось)))


А тебе что за печаль? Тебя же из жавы поперли, скоро из дотнета попрут - пойдешь на FoxPro 2.6 свои большие десктопы создавать
16 май 19, 07:07    [21885820]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
fkthat,
Таблеточек с утра выпей.
16 май 19, 07:16    [21885823]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Shocker.Pro
Member

Откуда: ->|<- :адуктО
Сообщений: 20437
fkthat
А тебе что за печаль?
Petro123
Таблеточек с утра выпей.
За продолжение Петя-болла пострадают оба его участника. Я предупредил
16 май 19, 08:52    [21885865]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
ЕвгенийВ
Member

Откуда: Москва
Сообщений: 4748
fkthat
Дело не в лоулевеле По сути метод с out/ref это метод с side effect, что не особо хорошо. Единственное, наверное, разумное применение, что я им вижу - это как раз упомянутый TryDoSomething(out blaBalBla). И то, можно заметить, что большинство таких стандартных методов всегда ходят парами - один с возможным ексепшеном, другой с "TryXXX".

А как же Deconstruct?
А как же ref struct, readonly struct, readonly ref struct?
Да и по in кодревьюер походу еще не чухает.
16 май 19, 09:34    [21885899]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Antonariy
Petro123
Antonariy,
Пример его варианта дайте.
если нужно вернуть несколько значений, его вариант - наплодить классов.
кортежи пока не используем, потому что сидим на 4м фреймворке.
объективно, у него нет оснований. Так что выпей с ним пиво. В шарпе еще много нового будет.
16 май 19, 09:40    [21885909]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 2898
fkthat
Petro123
В java позавчера только появилось)))


А тебе что за печаль? Тебя же из жавы поперли, скоро из дотнета попрут - пойдешь на FoxPro 2.6 свои большие десктопы создавать


к слову, попробуй сейчас найди мастера, чтобы на фоксе сделал что-то ;-)
16 май 19, 09:47    [21885918]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 2898
Antonariy
Мой кодревьюер постоянно клюет мне моск, что использовать ref и out плохо, это слишком low level по его выражению. Я считаю, что не использовать какую-то возможность языка из идейных соображений (исключая goto, но это ограничение хорошо обосновано) - тупо.

Кто что думает по этому поводу?


goto бояться - в лес не ходить! это лучшее, что есть в разных языках
16 май 19, 09:50    [21885923]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Ролг Хупин,
Увы. У нас на работе java, шарп и c++
16 май 19, 09:50    [21885924]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 2898
Antonariy
Еще говорит, сложно читать и мешает композиции. Насчет первого это его личная проблема, мне читается прекрасно, а насчет композиции мне непонятно, о чем речь.


он, видимо, из разжалованных художников
16 май 19, 09:51    [21885925]     Ответить | Цитировать Сообщить модератору
 Re: ref и out параметры  [new]
Petro123
Member

Откуда: Загрузочный сектор Москвы (AutoPOI.ru)
Сообщений: 38643
Ролг Хупин
это лучшее,
перебор))
16 май 19, 09:51    [21885926]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3 4 5   вперед  Ctrl      все
Все форумы / WinForms, .Net Framework Ответить