Qual é a melhor maneira de impedir que os desenvolvedores chamem System.Windows.Forms.Application.DoEvents ()?

Acabamos de passar 300 horas-homem consertando um aplicativo de buggy no campo. Tudo se resumia a chamar Application.DoEvents (problema de reentrada).

Isto não foi detectado nas análises de design e de código. O código foi inserido há dois anos com a primeira versão; o aplicativo sempre foi "esquisito", mas alterações recentes expuseram os problemas de reentrada em maior grau.

Este incidente é a segunda vez em nossa organização que Application.DoEvents causou falhas e várias horas de depuração. Foi descoberto nesse caso simplesmente observando a chamada, oculta em um manipulador de eventos complexo para uma tarefa assíncron

O que você sugere para impedir que esse problema ocorra novamente:

Adicione portas de check-in ao controle de origem? Treinamento para desenvolvedores?egras de análise de código (por que isso ainda não é uma regra interna

Como impor uma prática de codificação?

questionAnswers(8)

yourAnswerToTheQuestion