All streams
Search
Write a publication
Pull to refresh
29
0
Фофанов Илья @EngineerSpock

Ответственный программист

Send message
Оперирование разными валютами просто не рассматривал. А так, да, вы правы. Промазал уровнем.
а почему не 200 $

А может и баксов. Здесь важно не это, я в статье намеренно опустил рассмотрение разных валют. Дело в том, что неясно даже само значение.

Не очень понимаю зачем столько кода вокруг копеек — судя по MSDN decimal в dotnet это уже структура содержащая целочисленные значения и кол-во знаков после запятой, то есть ваша же Money только factor выражается не как 100, а как 2.

decimal не несёт в себе никакой информации о том, что представлено этим числом.
decimal a = 10; //что это?
Именно так и сделано в коде в статье.
Жесть :-D
Извините, код сегодня написал, накатал тесты, но этот кейс забыл. Просмотр элементарный. Код не в продакшне, разумеется :-D
Уже поправил в статье. Спасибо, что указали.
Он вне конкуренции. Недосягаем. Кроме всего прочего, он ещё и над гусями издевается.
А мне не нравится. Как-то по-театральному звучит :-D
На мой вкус вполне приемлемым переводом «codebehind» является «застраничный файл» или «застраничный код». Кто-то может не согласиться.
Я предположил. Вопрос был такой: «Что значит «наверху ожидается отсутствие исключений»? Если я ошибся — поясните. Я не понимаю, но очень хочу понять, потому что считаю тему очень сложной и до конца непонятной.
Что значит «наверху ожидается отсутствие исключений»? То есть, если кто-то добавил новый тип, который выбрасывается в определённых обстоятельствах, то верхний уровень никак не обработает и исключение полетит на самый верх? Если так, чтож, великолепно. Именно когда так люди программируют и получаются, например, такие ситуации:

Включаю Visual Studio, потом Kaspersky Password Manager, что-то в нём делаю, затем тыкаю в редактор исходного кода в VS и, вуаля, она падает. А всё потому что где-то был захвачен некий глобальный хук или что-то подобное, а исключение, которое полезло никто не поймал. В 99%, когда программа падает я вижу, что нет ни одной причины по которой она не могла бы спокойно продолжить работать. Даже если предположить, что сейчас мне некоторая фича недоступна, то зачем гасить всё приложение?
Не совсем понял вас, уточните, пожалуйста.
1. Каким образом вы становитесь уверенными с помощью статического анализа в том, что исключение не пройдёт глубже слоя VM?
2. Что будет, если кто-то добавил новый тип исключения в глубине кода и не предупредил или забыл предупредить, что в системе теперь есть новый тип исключения?
Про статический анализ понятно. Я хотел обсудить другой вопрос: согласны ли вы с тем, что в таких случаях можно поймать все исключения, профильтровать на АДСКИЕ и просто вывести сообщение об ошибке? Иначе однажды исключение пролетит до самого корня и там нам придётся выводить «Спасите-помогите, критическая ошибка», вместо всё того же сообщения «Ошибка открытия файла». Это первый вопрос.

Можете прокомментировать этот комментарий на схожу тему? Это второй вопрос. Тема крайне интересная и до конца не понятая, как мне кажется.
Хабра-дубль, сорри.
поскольку можно посмотреть секцию exceptions документации.

А вы там не найдёте всех возможных исключений. Даже половины. Так что же ловить? :)

Если бы File.Open делал я, то я бы поймал все исключения во ViewModel, вывел сообщение пользователю о том, что беда с открытием файла. И фильтранул на OutOfmemory (это сначала и если это не оно, то вывел бы сообщение просто).
поскольку можно посмотреть секцию exceptions документации.

А вы там не найдёте всех возможных исключений. Даже половины. Так что же ловить? :)
Предположим вам надо сделать File.Open, какие исключения вы будете ловить? Предположим, что у нас MVVM, команда на открытие пришла из VM в Model. То есть, в Model мы делаем File.Open. Какие исключения вы будете ловить и где?
А вы зарабатываете на жизнь этим? Или есть некая основная работа? (извините за тупые вопросы :))
А вы под WinRT имели ввиду Runtime? Я знаю разницу, ничего не путаю :)
Тут прошла какая-то странная противоречивая новость, что WinRT умер.

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity