Pregunta

Encontré la entrada de Wikipedia en la codificación suave anti-patrón terso y confuso. Entonces, ¿qué es la codificación suave? ¿En qué ajustes es una mala práctica (anti-patrón)? Además, ¿cuándo podría considerarse beneficioso y, de ser así, cómo debería implementarse?

¿Fue útil?

Solución

Respuesta corta: ir a los extremos para evitar la codificación difícil y terminar con una capa de abstracción complicada y monstruosa para mantener eso es peor que si los valores codificados duros hubieran estado allí desde el principio. es decir, sobre ingeniería.

Me gusta:

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

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

Otros consejos

El punto principal del artículo diario de la WTF sobre codificación suave es debido a una optimización prematura y El miedo a un sistema que está muy bien definido y no hay conocimiento duplicado se altera y se vuelve más complejo sin necesidad.

Lo principal que debe tener en cuenta es si sus cambios realmente mejoran su sistema y evitan etiquetar algo como anti-patrón y evitarlo por todos los medios. Configurar su sistema y evitar la codificación es un remedio simple para el conocimiento duplicado en su sistema (vea el punto 11: "DRY Don't Repeat Yourself" en La Guía de referencia rápida para el programador pragmático ) Esta es la necesidad fundamental de la sugerencia de evitar la codificación. Es decir. idealmente debería haber un solo lugar en su sistema (que sería código o configuración) que debería modificarse si tiene que cambiar algo tan simple como un mensaje de error.

Ola, un buen ejemplo de un proyecto real que tiene incorporado el concepto de softcoding es el Django proyecto. Su archivo settings.py abstrae ciertas configuraciones de datos para que pueda realizar los cambios allí en lugar de incrustarlos en su código. También puede agregar valores a ese archivo si es necesario y usarlos cuando sea necesario.

http://docs.djangoproject.com/en/dev/topics/ configuración /

Ejemplo :

Esto podría ser un fragmento del archivo settings.py:

num_rows = 20

Luego, dentro de uno de tus archivos, puedes acceder a ese valor:

from django.conf import settings
...

for x in xrange(settings.num_rows):
   ...

Lo último en softcoding:

const float pi = 3.1415; // Don't want to hardcode this everywhere in case we ever need to ship to Indiana.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top