Я определенно предпочитаю первое решение:
int size;
if(getObjectSize(h, &size) != MYAPI_SUCCESS) {
// Error handling
}
я немного изменил бы его, к:
int size;
MYAPIError rc;
rc = getObjectSize(h, &size)
if ( rc != MYAPI_SUCCESS) {
// Error handling
}
В дополнительном я никогда не буду смешивать законное возвращаемое значение с ошибкой, даже если в настоящее время объем функции, разрешающей Вам сделать так, Вы никогда не будете знать, какой путь реализация функции войдет в будущее.
И если бы мы уже говорящий об обработке ошибок я предложил бы goto Error;
как код обработки ошибок, если приблизительно undo
функция нельзя назвать для обработки обработки ошибок правильно.
Я на самом деле не проводил никаких измерений, но обычно я исключаю сканирование в реальном времени моей папки разработки (обычно это моя папка: \ Projects). Таким образом, компилятор сможет работать с максимальной скоростью во время моих повседневных повторяющихся задач. У меня есть ежедневное сканирование, в пути которого есть указанная папка, чтобы выявить любую возможную угрозу. С субъективной точки зрения я предпочитаю использовать NOD32.
Что ж, если честно, на моей рабочей машине не установлен антивирусный сканер, и в течение почти 2 лет у меня никогда не было проблем с вирусами, потому что я постоянно отстаю от корпоративной сети патрулирование и другие вещи делают меня довольно безопасным.
Однако дома я использую NOD32, а на трех разных машинах, использующих Visual Studio, я никогда не замечал никаких замедлений. Прошу прощения за то, что у меня нет тестов для измерения, просто хотел выбросить свой «ответ».
На основе предыдущих установок на различных работах, эмпирически оцененных от самой медленной (очень раздражает) до самой быстрой (почти не влияет):
Я бы не стал беспокоиться о тестах скорости и т. Д., Показанных на сайтах обзора антивируса, поскольку большинство из них находятся в контролируемой среде, часто с включенным режимом обзора. . Воздействие также будет зависеть от вашей сетевой среды (рабочая группа или домен) и политик, применяемых администратором.
Раскрытие: я работал над другим уже устаревшим антивирусным пакетом еще в 90-х.
Исключите папки проекта и папку приложения Visual Studio для сканирования в реальном времени и запланируйте сканирование так часто, как вы можете чувствовать себя в безопасности.
Не используйте Kaspersky (старый Tect Review), он замедляет нормальное открытие файлов проводника почти на 10 секунд (да, вам нужно подождать 10 секунд перед открытием каждой папки). И да, это влияет на Visual Studio. В новой версии проблем нет. У NOD32, похоже, нет этой проблемы, и он немного быстрее, чем Kaspersky (я даже не знаю, сканирует ли он так же часто, как Kaspersky).
Но по какой-либо причине брандмауэр NOD32 плох!
У нас работает антивирус Trend Micro, и это ужасно. Это кажется особенно плохим при проверке.
Мы недавно заказали новую машину сборки, и команда IS не настраивала исключения для дисков сборки, и проверка исходного кода из TFS занимала 45 минут. Когда AV выключен, проверка того же исходного кода заняла около 1 минуты 30 секунд.
Я должен согласиться с первым ответом.
Я видел, что такие проблемы различаются между должностями в зависимости от того, насколько искренне намерены администраторы оставить неизменными конфигурации для разработчиков. Правильно настроенные антивирусные сканеры по-прежнему мешают разработчику, но, по крайней мере, это терпимо.
Итак, я отредактировал списки сканирования на:
Я считаю, что это улучшает загрузку диска, которая в противном случае происходит с Visual Studio, Resharper и антивирусным сканером, которые забивают диск. Как всегда, Filemon SysInternals может помочь вам нацелиться на несанкционированные службы / процессы.
У меня тоже нет мер, но есть некоторый опыт:
Не используйте McAfee: У нас были серьезные проблемы с производительностью (и другие, более серьезные) на ряде установок с этим.
Используйте Avira AntiVir: Как сообщается, самый высокий процент успеха и без заметной задержки. Я использую его уже много лет.