powered by simpleCommunicator - 2.0.38     © 2025 Programmizd 02
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Null VS Exception
19 сообщений из 44, страница 2 из 2
Null VS Exception
    #39986907
Дмитрий Мух
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Кстати, возвращаясь к теме топика, на который сослались...

skyANA
Всё это фигня...
Следует возвращать OperationResult да и вообще писать в функциональном стиле


Показало себя на реальном боевом проекте как полнейшее фуфло. Никакого профита, головняк, и почва для генерации говнокода на ровном месте.

Спекуляция
...
Рейтинг: 0 / 0
Null VS Exception
    #39986910
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
Спекуляция


Не, всё правда. Делюсь так сказать самым что ни на есть боевым опытом.
Опыт получен, геморрой получен, профит не получен.

Всё просто.
...
Рейтинг: 0 / 0
Null VS Exception
    #39986955
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt
Дмитрий Мух
Спекуляция


Не, всё правда. Делюсь так сказать самым что ни на есть боевым опытом.
Опыт получен, геморрой получен, профит не получен.

Всё просто.

Конкретными фактами-то не делишься, только мнением.
Чистой воды спекуляция
...
Рейтинг: 0 / 0
Null VS Exception
    #39986958
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt


Показало себя на реальном боевом проекте как полнейшее фуфло.

А конкретней?
Почему не сделать Some|None на шарпе?
Может в стиле Go возвращать кортеж (Result, Exception) ?
...
Рейтинг: 0 / 0
Null VS Exception
    #39986966
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
Может в стиле Go возвращать кортеж (Result, Exception) ?
https://github.com/vkhorikov/CSharpFunctionalExtensions
мы вот эту штуку впилили, немного доработав, пока не в проде, правда...
...
Рейтинг: 0 / 0
Null VS Exception
    #39987239
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
как правильно делать, вернуть null или выбросить исключение?
например здесь

Код: c#
1.
2.
3.
4.
public Book GetById(int id)
        {
            return books.Single(b => b.Id == id);
        }



Какое ещё исключение? Возвращай нулл
...
Рейтинг: 0 / 0
Null VS Exception
    #39987240
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
monstrU
listtoview,

потому что если ты ждешь из функции объект Book, и будешь возвращать null, то при обращении к book.Id у тебя в runtime вылетит ошибка. ее тяжело отловить. если еще и другие люди по проекту работают, то к проблемам такой подход приведет.
можно результат операции возвращать успешно нашли или нет, или паттерном Пустой объект воспользоваться.
возвращать объект Book, но в нем завести какой то признак, который обозначает что объект пустой. потом написать функцию IsEmptyObject, которая на book.IsEmptyObject() вернет true когда объект в базе найден не был


Бредятина
...
Рейтинг: 0 / 0
Null VS Exception
    #39987245
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.Pro
Зависит от того, плановая это ситуация или исключительная.
Но много зависит и от окружения - как оно построено.


Да ни от чего это не зависит. Белгородский троль считает свои высеры остроумными
...
Рейтинг: 0 / 0
Null VS Exception
    #39987248
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
listtoview
как правильно делать, вернуть null или выбросить исключение?
например здесь

Код: c#
1.
2.
3.
4.
public Book GetById(int id)
        {
            return books.Single(b => b.Id == id);
        }


Собери совещание, ты же ночальнек, а вопрос архиглубокий и очень важный
...
Рейтинг: 0 / 0
Null VS Exception
    #39987249
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vb_sub
listtoview,
возвращать null очень плохой стиль кода.

Нормальный стиль кода
...
Рейтинг: 0 / 0
Null VS Exception
    #39987250
love_bach
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дмитрий Мух
Shocker.Pro
пропущено...
Дима имел ввиду не реализацию, а подход
Данная реализация понятно, что исключение выдаст )



я написал о том, как этот код должен бы себя вести на самом деле, а не как он ведёт себя сейчас

ведь наверняка мало кто ожидает, что метод с сигнатурой
Код: c#
1.
Book GetById(int id)


кинет исключения, если нет записи о книге с указанным идентификатором

это примерно как ожидать, что запрос
Код: sql
1.
2.
+
SELECT * FROM Books WHERE Id = 123


с**а, выкинет исключение


+146@%
...
Рейтинг: 0 / 0
Null VS Exception
    #39987367
listtoview
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
просто рука не поднимается создавать объект, когда его нет
пусть даже пустой
...
Рейтинг: 0 / 0
Null VS Exception
    #39987380
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кто сюда ассемблерщика пустил?
...
Рейтинг: 0 / 0
Null VS Exception
    #39987478
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANA
Конкретными фактами-то не делишься, только мнением.
Чистой воды спекуляция


Почему не делюсь? Весь тот топик был про эти самые факты, о которых я говорил.
Меня убеждали, что я не прав.

Ооокеей. Я решил, что я не прав, поизучал глубже, и применил на практике.
Пол года использование в одном выделенном конкретном модуле на серьёзном большом проекте.

Как итог -- полная фигня.
Аргументы, которые я приводил, подтвердились.
Не мной лично, это фидбек от команды.
Поэтому говорить о предвзятости не приходится.
...
Рейтинг: 0 / 0
Null VS Exception
    #39987481
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
hVostt


Показало себя на реальном боевом проекте как полнейшее фуфло.

А конкретней?
Почему не сделать Some|None на шарпе?
Может в стиле Go возвращать кортеж (Result, Exception) ?


Давай на самом простом и банальном примере, который легко экстраполируется.

Представим набор математических операций +, -, *, / как функции, которые возвращают OperationResult.
Каждая из этих операций может иметь как успех, так и ошибку.

А теперь напишите код простой логики с применением этих операций.
Посмотрим, как надолго вас хватит, и когда вы плюнете и пошлёте всех нахер с такими идеями :)

Это правда также выглядит и в других случаях.

Никакой "функциональности" в OperationResult нет, это очень сильно притянутая за уши идея, в которой нет ни смысла, ни пользы.
...
Рейтинг: 0 / 0
Null VS Exception
    #39987487
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
Почему не сделать Some|None на шарпе?


В шарпе пока нет DU.
Можно перейти на F# и радоваться жизни, но речь шла о C#.

Конкретно для C# имеются некие костыли типа OneOf<T1, T2, T3...> и прочие, не побоюсь этого слова, убожества. Использование которых не приводит ни к чему хорошему, кроме тонны неудобоваримого, нечитаемого, плохо сопровождаемого говнокода.


ЕвгенийВ
Может в стиле Go возвращать кортеж (Result, Exception) ?


Если хочется работать в "стиле Go", то почему бы не писать на Go?

Да и стиль Go (result, error) лично я считаю плохим. Это шаг назад, высокоуровневые исключения на порядка два лучше, удобнее и безопаснее.

Но кому-то нравится.
...
Рейтинг: 0 / 0
Null VS Exception
    #39987632
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt


Если хочется работать в "стиле Go", то почему бы не писать на Go?

Да и стиль Go (result, error) лично я считаю плохим. Это шаг назад, высокоуровневые исключения на порядка два лучше, удобнее и безопаснее.

Но кому-то нравится.

Свят, свят, свят, упаси Господи меня от GO.
Действительно дряный стиль обработки ошибок, даже в их стандартной библиотеки во многих местах обработкой ошибокой пренебрегают.
...
Рейтинг: 0 / 0
Null VS Exception
    #39987634
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hVostt

Никакой "функциональности" в OperationResult нет, это очень сильно притянутая за уши идея, в которой нет ни смысла, ни пользы.

Ну тут надо разграничивать, OperationResult должны возвращать только высокоуровневые операции, которые делают много работы и серьезно влияют на поток управления.
Так можно спуститься до проверки результатов ассемблеровской mov 😂
...
Рейтинг: 0 / 0
Null VS Exception
    #39987646
Фотография hVostt
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВ
hVostt

Никакой "функциональности" в OperationResult нет, это очень сильно притянутая за уши идея, в которой нет ни смысла, ни пользы.

Ну тут надо разграничивать, OperationResult должны возвращать только высокоуровневые операции, которые делают много работы и серьезно влияют на поток управления.
Так можно спуститься до проверки результатов ассемблеровской mov 😂


Там, где в этом есть конкретный обособленный смысл -- оно уже есть из коробки :)
Например, IActionResult в ASP.NET Core.
Более того, архитектурно это позволяет конвертировать экземпляр результата в HTTP ответ, с одной стороны, и тестировать контроллеры с другой.

Но потом включается работа надмозгов.. А чёбы не сделать такой супер-мега-хайлевел сервис, который будет возвращать OperationResult, который мы будем мапить в IActionResult? а? А? Крутая идея? ))

Полная херня это, а не крутая идея.
Абсолютно бестолковое, бездарное и бессмысленное ковыряние в носу ради ковыряния в носу.
...
Рейтинг: 0 / 0
19 сообщений из 44, страница 2 из 2
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / Null VS Exception
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]