J'ai du code presque identique, mais utilise des types absolument différents, sans héritage entre eux, sur la variable principale. Plus précisément, j'écris un analyseur avec Roslyn pour C # et VB.NET, avec les types suivants:
Microsoft.CodeAnalysis.CSharp.Syntax.AttributeSyntax Microsoft.CodeAnalysis.VisualBasic.Syntax.AttributeSyntax
Je me demande si, parce que le code fait la même chose, je devrais le garder aussi sec que possible, en séparant le moins possible en méthodes distinctes (mais identiques, à part le type), ou en les séparant complètement, car les deux méthodes sont: non lié et les modifications futures pourraient forcer une version à changer, mais pas l'autre (bien que cela soit peu probable)?
Edit: Un an plus tard, j’ai fait face au même problème et l’équipe de Roslyn m’a aidé à le résoudre: rédigez un cours de base qui utilise des génériques et qui a un TAttributeSyntax
paramètre qui effectue la majeure partie du travail. Ensuite, écrivez des classes dérivées avec le minimum de données nécessitant un type spécifique.