Executando verificação de segurança...
1

Boas práticas? Será mesmo?

Usar prefixos para interfaces é um padrão adotado na comunidade do C# que nunca entendi a motivação. Justificar que é para identificar não me faz sentido, imagina usar C para identificar classes, CA para classes abstratas, O para objetos, S para identificar strings, DT para datas, A para arrays e por aí em diante, fica parencendo notação húngara.

A galera do Angular importou diversas práticas da comunidade C#, por isso é comum ver pessoas usarem essas convenções também.


Olhe o código abaixo, precisa de I para saber que DocumentExporter é uma interface? Acredito que não, o uso já dá legibilidade suficiente.

export class PDFExporter implements DocumentExporter {
  
  async export(originPath: string, destinationPath: string): Promise<void> {
      // ...
  }
}

export class XLSXExporter implements DocumentExporter {
  
  async export(originPath: string, destinationPath: string): Promise<void> {
      // ...
  }
}

Em tempos em que as IDEs e editores eram rústicos e limitados, até poderia ter alguma justificativa a para usar esse tipo de indicador. Mas hoje em dia você poderia chamar de uma convenção, não acho que possa classificar como boa prática.

Carregando publicação patrocinada...