fundo
Obviamente, existem várias variáveis envolvidas aqui, portanto, não há uma resposta única para todos. Essas variáveis incluem:
Políticas corporativas / corporativas existentes
Quaisquer políticas que envolvam mandatos de segurança (como o requisito para executar o AV configurado pela empresa) podem tornar essa decisão um problema.
Variabilidade do ambiente de "produção".
Se esse é um aplicativo que está sendo implementado em um ambiente controlado OU em um ambiente limitado, é uma boa idéia duplicar esse ambiente de produção para seus bancos de testes.
Se, no entanto, este for um aplicativo que será lançado "in the wild", obviamente não há como testar todas as configurações de produção possíveis.
Ambiente de desenvolvimento e teste
Se houver uma equipe e ambiente de teste / controle de qualidade formal ou mesmo apenas um servidor de compilação, esse é provavelmente o melhor lugar para imitar o ambiente de produção, não as máquinas dos desenvolvedores.
Preocupações com segurança
Este é um livro exclusivo, mas as preocupações com a segurança podem superar qualquer uma das compensações específicas das máquinas dos desenvolvedores. Isso depende de coisas como:
- Sensibilidade dos dados e / ou código
- Conectividade com redes externas / internet
- Midia removivel
- muito muito mais
Desempenho da máquina do desenvolvedor
O óbvio aqui é o desempenho atingido durante o desenvolvimento devido ao imposto de CPU e E / S introduzido pelo antivírus. Os impactos não tão óbvios são: - Tempo de inatividade associado à contração de um vírus / cavalo de Troia / malware e remoção subsequente - Impacto no desempenho do vírus / malware, se não houver nenhum software antivírus para detectar e notificar o usuário, para que ele continue para trabalhar com o vírus / malware presente.
Se você estiver usando máquinas virtuais ou tiver uma imagem de desenvolvimento ou backups regulares, esse potencial de tempo de inatividade pode ser insignificante. Se o desenvolvedor precisar reinstalar e reconfigurar tudo em sua máquina do zero (dependendo da gravidade do vírus), o tempo de inatividade poderá ser uma penalidade grave.
Probabilidade de contração
A probabilidade de um vírus / malware ser contraído pela máquina do desenvolvedor é um enorme curinga / desconhecido. No entanto, se você estiver trabalhando em uma rede fechada e não atrair muita mídia externa, o risco será obviamente muito menor do que se todas as máquinas estiverem conectadas diretamente à Internet.
Se o ambiente de desenvolvimento for Mac OSX ou Solaris ou Linux, etc, a probabilidade de contração é muito menor do que na plataforma Windows.
Além disso, se a natureza do desenvolvimento em si aumenta a exposição das máquinas dos desenvolvedores ao tráfego potencialmente inseguro, isso aumenta a probabilidade de contração.
Recomendações
Com base nesse status das variáveis acima (e provavelmente mais), existem várias opções (aumentando a segurança, diminuindo a ordem de desempenho):
- Nenhum software AV
- Software antivírus sem proteção em tempo real, mas verificações de vírus programadas fora do horário comercial
- Software antivírus com proteção em tempo real, mas exclusões em pastas / tipos de arquivos envolvidos no processo de desenvolvimento
- Software AV com proteção em tempo real e sem exclusões
Obviamente, existem várias variações nessas quatro opções (como as que envolvem o uso de máquinas virtuais), mas acho que isso abrange as principais opções.
Uso pessoal
Pelo que vale, eu uso pessoalmente o Symantec Corporate no trabalho e o Avast Free Edition em casa. Tenho a proteção em tempo real ativada, com as únicas exclusões dos meus arquivos de pastas / vmdk da Máquina Virtual. Eu faço parte do meu desenvolvimento no host e parte no convidado. Faço desenvolvimento em C # e C ++ nativo para a plataforma Windows e considero as penalidades de desempenho gerenciáveis.