Здравствуйте, Sinix, Вы писали:
S>Здравствуйте, Аноним, Вы писали:
S>>>Это бесполезно — вы никак не используете выученные фонемы и они тут же забываются, сам так тратил время. В первую очередь надо набирать словарный запас и регулярно его использовать — т.е. побольше читать на английском
А>>ну как его можно регулярно использовать, если вокруг тебя не англоязычные...
S>Элеменарно
Чтение книг/блогов/форумов, поиск решений и общение на англоязычных сайтах.
так слово когда его видишь и когда его произносят запоминается намного лучше и то всё позабывал. А доку вольно/невольно приходится читать на англ и всё-равно в целом не могу проникнуться.
А>>что значит пометить как failsafe? как это делается?
S>Да посто в комментариях — чтобы следующий кодер не поломал чего. Или используйте ReliabilityContractAttribute, только неплохо предварительно почитать — куда оно и зачем.
о, статья что искал. Вы меня просто вынуждаете читать на англ.
А>>если я оберну в try/catch DoWork — то что случится? inEdit как была тру в случае вылета эксепшена, так и установится в тру. EndEdit не выполнится.
S>Угумс. А теперь представьте, что 99% вашего кода так или иначе дёргает BeginEdit и отлавливает исключения. Приложение не падает, но сделать вы ничего не сможете. Или гораздо худший сценарий: BeginEdit вызывается очень редко и часть кода не отлавливает исключения. Как результат, приложение будет падать нечасто, но ВНЕЗАПНО. И ни по стеку вызовов, ни дампу вы не узнаете настоящую причину падения — проблема возникла давным-давно.
ну у Вас и пример

Конечно в таком случае геморра больше чем можно себе представить. Я о ситуациях например запись в реестр о том что версия триальна. Я согласен на то, что мой софт кто-то будет использовать не купив. Это лучше, чем если прога у людей будет валиться. Итого примерно след код:
bool trialVersion = true;
try
{
if (!trialVersion)
WriteTrialKeyToRegisty(); // здесь ТОЛЬКО запись текущей даты в реестр в using'е...
}
catch(Exception ex)
{
Log(ex);
trialVersion = false
}
в таком случае никаких подводных камней?
А>>Я понимаю, что нужно следить чтобы значения переменных до вызова и после были идентичными. В таком случае, как я понимаю, подводных камней не предвещается
S>Не только значения полей. События, внешние ресурсы (например, файлы или ключи реестра), блокировки — всё что так или иначе влияет на логику вашего (или чужого) приложения не должно находиться в рассогласованном состоянии.
а что события? Имеете ввиду подписка на события? Про файлы и ключи реестра понятное дело, конструкция using желательна почти в любом случае.
S>А то некоторые попользуются таким "надёжным" ПО и начинают предъявлять претензииАвтор: McSeem2
Дата: 30.11.10
к дотнету в целом.
ну это классика жанра. Если у человека постоянно глючит серьёзный софт — значит проблема в нём