2008-09-17 7 views

Répondre

3

À moins que votre programme ne réduise les performances à 100%, faites-le avec un fichier de configuration. Cela gardera votre code propre.

Si une option change de nombreuses parties de code, n'écrivez pas beaucoup de conditions, écrivez une condition qui sélectionne la classe à laquelle vous déléguez. Par exemple, si une préférence choisit TCP par rapport à UDP, demandez à votre instanciation conditionnelle un TcpProvider ou un UdpProvider que le reste de votre code utilise avec un minimum de bruit.

0

Peut-être que je suppose trop, mais:

switch (setting) { 
    case "development": 
    dostuff; 
    break 
    case "production": 
    dootherstuff; 
    break; 
    default: 
    dothebeststuff; 
    break; 
} 
2

Les directives de compilation ne sont pas aussi flexibles, mais ils sont appropriés dans certaines circonstances.

Par exemple, par défaut lorsque vous compilez en mode DEBUG dans VS.NET, il y a une « DEBUG » symbole défini ... de sorte que vous pouvez faire

void SomeMethod() 
{ 
    #if DEBUG 
    //do something here 
    #else 
    //do something else 
    #endif 

} 

cela se traduira par une seule de ces blocs en cours de compilation en fonction de la définition du symbole DEBUG.

Vous pouvez également définir des symboles supplémentaires dans Propriétés du projet -> Construire -> Symboles de compilation conditionnelle.

Ou, via le compilateur de ligne de commande en utilisant le commutateur/define:

Questions connexes