Search
Write a publication
Pull to refresh
3
0
Никита Пахомов @nik_pakhomov

Программист

Send message

Очень понравилось как у вас оформлены профили специалистов. Подскажите, пожалуйста, есть ли инструмент для оформления таких же красивых матриц компетенций?

Возможно стоило упомянуть например системы, с помощью которых можно автоматизировать бекапы - от написания обычных скриптов, до Bareos/Bacula (возможно есть что-то ещё).

А так да, похоже на рекламную брошюру больше чем на техническую статью.

Очень круто, но с картинками будет ещё лучше. Спасибо!

UPD: отдельное спасибо за ссылку на онлайн-калькулятор.

Попробуйте вместо обычной очереди использовать потокобезопасную ConcurrentQueue.

Возможно, это снизит риски падения приложения в дальнейшем. Плюс, от блока lock избавитесь.
Мне кажется, можно долго спорить о том, что является, а что не является исключительной ситуацией. Думаю, тут все остается на усмотрение разработчика — если он считает, что не найденный в системе пользователь достоин своего отдельного исключения, то так и должно быть :)
Думаю, от System.Exception, так как исключение возникает на уровне библиотеки.
Тут все зависит от целей создания исключения. Если, допустим, в лог нужно записать, что возникала ситуация, когда пользователь не был найден — то генерация исключения и его перехват в catch позволит решить эту задачу.
Согласен. К примеру сериализацию можно в некоторых случаях опустить, конструктор, принимающий message не определять. Но такой тип исключения уже не будет соответствовать рекомендациям. Поэтому лично моя позиция при создании исключений — пусть все что рекомендовано будет.

По каждому пункту обоснования добавлю. Спасибо.
В принципе разницы между ними нет никакой, подавляющее большинство разработчиков наследуется от System.Exception и как говорится не парится. И в этом нет ничего плохого.

При обработке исключения, производного от System.ApplicationException, можно смело предполагать, что исключение было инициировано кодом работающего приложения, а не сторонней библиотекой.

Это из Троелсена — «Язык программирования C# 5.0 и платформа .NET 4.5».
Вы правы — показать, как выполнять сериализацию дополнительных полей, стоит. Сегодня постараюсь дополнить статью. Спасибо.

Information

Rating
Does not participate
Location
Санкт-Петербург, Санкт-Петербург и область, Россия
Date of birth
Registered
Activity