Задний план
Здесь явно задействовано несколько переменных, поэтому нет универсального ответа. Эти переменные включают в себя:
Существующая компания / корпоративная политика
Любые политики, включающие в себя мандаты безопасности (например, требование запустить AV, настроенный компанией), могут сделать это решение несущественным.
Изменчивость «производственной» среды.
Если это приложение, которое развертывается в контролируемой среде ИЛИ ограниченной среде, то хорошей идеей будет продублировать эту производственную среду для ваших испытательных стендов.
Однако, если это приложение, которое будет выпущено «в дикую природу», то, очевидно, нет способа протестировать все возможные производственные конфигурации.
Среда разработки и тестирования
Если есть формальная группа тестирования / QA и среда или даже просто сервер сборки, то это, вероятно, лучшее место для имитации рабочей среды, а не машин разработчиков.
Проблемы безопасности
Это книга сама по себе, но проблемы безопасности могут перевесить любой из конкретных компромиссов для машин разработчиков. Это зависит от таких вещей, как:
- Чувствительность данных и / или кода
- Подключение к внешним сетям / интернету
- Съемные медиа
- намного намного больше
Производительность машины разработчика
Очевидным здесь является снижение производительности во время разработки из-за налога на процессор и ввод-вывод, введенного антивирусным сканером. Не столь очевидными являются потенциальные воздействия: - время простоя, связанное с сокращением вируса / трояна / вредоносного ПО и последующим удалением; - влияние вируса / вредоносного ПО на производительность, если отсутствует программное обеспечение AV для обнаружения и уведомления пользователя таким образом, что они продолжают работать с вирусом / вредоносным программным обеспечением.
Если вы используете виртуальные машины или у вас есть образ разработки или регулярное резервное копирование, этот потенциал простоя может быть незначительным. Если разработчику придется переустанавливать и переконфигурировать все на своем компьютере с нуля (в зависимости от серьезности вируса), то простоя может быть серьезным наказанием.
Вероятность сокращения
Вероятность того, что машина-разработчик заразит вирус / вредоносное ПО, является огромным подстановочным знаком / неизвестна. Однако, если вы работаете в закрытой сети и не используете много внешних носителей, риск, очевидно, намного ниже, чем если бы все машины были напрямую подключены к Интернету.
Если среда разработки Mac OSX или Solaris или Linux и т. Д., То вероятность сокращения гораздо ниже, чем на платформе Windows.
Кроме того, если сама природа разработки увеличивает подверженность машин разработчиков потенциально опасному трафику, это увеличивает вероятность сокращения.
рекомендации
Исходя из этого состояния переменных выше (и, вероятно, больше), есть несколько вариантов (в повышении безопасности, снижении порядка производительности):
- Нет программного обеспечения AV вообще
- Программное обеспечение AV без защиты в реальном времени, но запланированное сканирование на вирусы в нерабочее время
- Программное обеспечение AV с защитой в реальном времени, но с исключениями для папок / типов файлов, участвующих в процессе разработки
- AV программное обеспечение с защитой в реальном времени и без исключений
Очевидно, что есть четыре варианта этих четырех вариантов (например, с использованием виртуальных машин), но я думаю, что это охватывает основные варианты.
Личное использование
Что бы это ни стоило, я лично использую Symantec Corporate на работе и Avast Free Edition дома. У меня включена защита в режиме реального времени, за исключением папок моей виртуальной машины / файлов vmdk. Я занимаюсь разработкой в хосте, а в гостях. Я занимаюсь разработкой на C # и нативных C ++ для платформы Windows и нахожу снижение производительности управляемым.