Question

J'ai trouvé la entrée de Wikipedia sur l'anti-pattern de codage logiciel, qui est source de confusion et de confusion. Alors, quel est le codage souple? Dans quels contextes est-ce une mauvaise pratique (anti-pattern)? De plus, quand cela pourrait-il être considéré comme bénéfique et, dans l’affirmative, comment le mettre en œuvre?

Était-ce utile?

La solution

Réponse courte: Aller à l'extrême pour éviter le codage dur et se retrouver avec une couche d'abstraction monstrueuse compliquée à maintenir, ce qui est pire que si les valeurs codées en dur avaient été présentes depuis le début. c'est-à-dire l'ingénierie.

J'aime:

SpecialFileClass file = new SpecialFileClass( 200 ); // hard coded

SpecialFileClass file = new SpecialFileClass( DBConfig.Start().GetConnection().LookupValue("MaxBufferSizeOfSpecialFile").GetValue());

Autres conseils

Le article quotidien de WTF sur le codage logiciel a pour but principal de répondre à une optimisation prématurée craignez un système qui soit très bien défini et où il n’existe aucune duplication de connaissances; la connaissance est altérée et devient plus complexe sans aucun besoin.

La principale chose à garder à l’esprit est que si vos modifications améliorent réellement votre système et évitent d’étiqueter à la légère quelque chose comme anti-modèle et de l’éviter à tout prix. Configurer votre système et éviter le codage en dur est un remède simple aux connaissances dupliquées dans votre système (voir le point 11: "DRY Don't Repeat Yourself" dans Guide de référence rapide du programmateur pragmatique ) C’est la nécessité impérieuse derrière la suggestion d’éviter le codage en dur. C'est à dire. idéalement, il ne devrait y avoir qu’un seul emplacement dans votre système (code ou configuration) à modifier si vous devez modifier quelque chose aussi simple qu’un message d’erreur.

Le nec plus ultra du codage logiciel:

const float pi = 3.1415; // Don't want to hardcode this everywhere in case we ever need to ship to Indiana.
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top