|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
короче, дети, вот вам совет 1. использовать исключения можно, и нужно. для вас их в ваши языки ввели не глупые дяди, чтобы вы не делали goto. если это жава или додиез ит.п. - то там есть типы. ловите нужные типы, вот и все 2. весь треп про внешний API ни о чем, просто не в кассу удачи вам, и здоровья ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 15:49 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
hVosttЕсли в языке есть исключения, надо их использовать. +146% ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 15:52 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Валентин Иванович....для вас их в ваши языки ввели не глупые дяди, еще один огнепоклонник как я и думал, спор о качестве кода вылился в очередной срач поражает неумение взглянуть на ситуацию с другой точки зрения, хывост, это про тебя то, что другим удобно/неудобно читать твой код, савсем не показатель к примеру, лямбды после ооп, очченно режут глаз... и чо? запретить их? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 16:28 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
казинаклямбды после ооп, очченно режут глаз шо ты несешь ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 16:30 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Валентин Ивановичказинаклямбды после ооп, очченно режут глаз шо ты несешь а ты? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 16:31 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Валентин Иванович, судя по профилю, ты - завсегдатай ПТ что такое лямбды, хоть знаешь? ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 16:36 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
казинакВалентин Иванович, судя по профилю, ты - завсегдатай ПТ что такое лямбды, хоть знаешь? а вы завсегдатай раздела "Работа". Видимо не ценят ваши подходы на работах =) (по вашей логике) ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 16:50 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Roman MejtesказинакВалентин Иванович, судя по профилю, ты - завсегдатай ПТ что такое лямбды, хоть знаешь? а вы завсегдатай раздела "Работа". Видимо не ценят ваши подходы на работах =) (по вашей логике) не ценили б, выгнали бы давно ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 16:54 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Сон Веры ПавловныhVosttпропущено... Ну если так да :) Ну, здесь и то, и другое: SOAP выбрасывает исключения, полученные в некоем подобии OperationResult ( <soap:fault> ). Ничто не мешает делать подобное со своим наколеночным OperationResult. но это не имеет отношения к Exception и try catch ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 16:59 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
казинакк примеру, лямбды после ооп, летели два крокодила, один зелёный, другой - на север ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 17:05 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Валентин Ивановичкороче, дети, вот вам совет 1. использовать исключения можно, и нужно. для вас их в ваши языки ввели не глупые дяди, чтобы вы не делали goto. если это жава или додиез ит.п. - то там есть типы. ловите нужные типы, вот и все 2. весь треп про внешний API ни о чем, просто не в кассу удачи вам, и здоровья Спасибо, дядя, и тебе не хворать. Исключения используем и не только исключения. Так что не волнуйся и иди спокойно себе занимайся своими делами ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 17:07 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
skyANAВалентин Ивановичкороче, дети, вот вам совет 1. использовать исключения можно, и нужно. для вас их в ваши языки ввели не глупые дяди, чтобы вы не делали goto. если это жава или додиез ит.п. - то там есть типы. ловите нужные типы, вот и все 2. весь треп про внешний API ни о чем, просто не в кассу удачи вам, и здоровья Спасибо, дядя, и тебе не хворать. Исключения используем и не только исключения . Так что не волнуйся и иди спокойно себе занимайся своими делами вот это и называется - языком молоть ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 17:13 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Валентин ИвановичskyANAпропущено... Спасибо, дядя, и тебе не хворать. Исключения используем и не только исключения . Так что не волнуйся и иди спокойно себе занимайся своими делами вот это и называется - языком молоть Языком молоть - это много и быстро говорить. А использование не только исключений - это, извините, никак с этим не связано. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 17:17 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
skyANAВалентин Ивановичпропущено... вот это и называется - языком молоть Языком молоть - это много и быстро говорить. А использование не только исключений - это, извините, никак с этим не связано. поделитесь, если это не секрет, как вы используете "не только" исключения. про OperationResult я уже прочитал ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 17:54 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Валентин ИвановичskyANAпропущено... Языком молоть - это много и быстро говорить. А использование не только исключений - это, извините, никак с этим не связано. поделитесь, если это не секрет, как вы используете "не только" исключения. про OperationResult я уже прочиталВернёмся к контексту топика... Где-то мы выбрасываем исключения, где-то возвращаем некий Result, зависит от... Где-то даже коды возврата есть, но это надо бы переписать ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 18:14 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
skyANAВалентин Ивановичпропущено... поделитесь, если это не секрет, как вы используете "не только" исключения. про OperationResult я уже прочиталВернёмся к контексту топика... Где-то мы выбрасываем исключения, где-то возвращаем некий Result, зависит от... Где-то даже коды возврата есть, но это надо бы переписать молодцы. евреи, наверное ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 18:15 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Валентин ИвановичskyANAпропущено... Вернёмся к контексту топика... Где-то мы выбрасываем исключения, где-то возвращаем некий Result, зависит от... Где-то даже коды возврата есть, но это надо бы переписать молодцыЗнаем ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 18:26 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Функциональный C#. Часть 4. Обработка исключений Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 18:27 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
skyANA Функциональный C#. Часть 4. Обработка исключений Угу, автор, как это обычно бывает, намеренно привёл отвратительную реализацию в противовес своему подходу: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35.
А теперь перепишем, как это должно было быть: Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Ну вот. Чисто, понятно. Хотя и здесь на контроллер возложено слишком много обязанностей, в нём выполняется многовато бизнес-логики. Что касается кода, приведённого в конце, как решение всех проблем, то там уже очевидная проблема в коде, которого изначально и не было: Код: c# 1. 2. 3. 4.
И вот это, "отлов ошибок" типа в функциональном стиле, чтобы потом сделать ровно тоже самое, что может сделать фильтр API, выгоды не видно совсем. Если же внутри всё написано в таком же ключе, то весь путь ошибки, проброшенный через эти "промисы" потеряется окончательно, всё ради того, чтобы залогировать корень проблемы, но не её путь. Хотя если каждый компонент по пути следования ошибки будет оборачивать в свою структуру, то... привет недоделанные исключения! Ещё строчку и файл нужно добавлять, тогда вообще будет сказка. Поехали на нашем велосипеде, чё ты, бросай это старьё Ладно, если такой подход позволял раньше более или менее красиво обойти проблему коллбеков при асинхронном подходе, сейчас при наличии async/await, это зачем нужно, непонятно. В общем, статья не убедительна, но как пример, что можно ещё так накостылить, показательна :) Где-то может будет удобно применить подобный подход, но плюсов не вижу. Функциональный стиль, здесь с большим натягом. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 20:18 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Вот этот код Код: c# 1. 2.
Гарантировано не должен бросать исключения. А как этого добиться? Ловить внутри и засовывать в свою структуру. Чтобы потом что? Дождаться пока кто-то не поймает в OnFailure, если не забудет конечно. И при этом, почему-то именно этот кусок не пошёл в функциональную цепочку, а просто засунут в замыкания, и это странновато. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 20:22 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Такой подход, кстати, хорошо бы смотрелся в качестве прикладного интерфейса для возврата результатов в NancyFX. Но и только. Внедрив такой подход за рамками API, неизбежно полезут костыли. Собственно что-то очень похожее, полностью основанное на OperationResult с методами-расширениями для построения цепочек я уже делал... лет 5 назад, и это действительно было удобно, потому что API был полностью на этом построен. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 20:29 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
Дядя Колякто хорошо в теме разбирается - есть какие-то мировые лидеры мнений которые топят за исключения? один програмист мне доказывает что коды лучше потому что так Джоэл сказал, очевидно надо найти не менее или примерно такого же по авторитету человека который топит за исключения. в этой ветке я за исключения ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 20:30 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
skyANA Функциональный C#. Часть 4. Обработка исключений Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17.
это ни чем не отличается от стандарного try catch, кроме записи ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 20:33 |
|
Исключения vs коды возвратов
|
|||
---|---|---|---|
#18+
love_bachэто ни чем не отличается от стандарного try catch, кроме записи Отличается и довольно существенно. Видим, что Result тут приходит из сервисов, т.е. там внутри такой же код. Если он где-то там сваливается, то потом прокидывается через цепочку до прикладного уровня, теряется стек вызовов, код должен полностью оперировать данными из Result, т.е. как бы функциональный стиль все дела. Здесь мы видим, всё не совсем так. Надо уже идти до конца, типа return BillingInfo.Create(billingInfo).CombineWith(CustomerName.Create(name))... ой, погодите, но по цепочке нужно оба результата. что делать... на помощь приходят туплы! ну и попёрли костыли. ... |
|||
:
Нравится:
Не нравится:
|
|||
12.07.2018, 20:56 |
|
|
start [/forum/topic.php?fid=20&msg=39673260&tid=1399295]: |
0ms |
get settings: |
7ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
223ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
55ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 328ms |
0 / 0 |