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 internaComo impor uma prática de codificação?