¿Cuáles son ejemplos de violación del principio DRY en el desarrollo de software?

No repita usted mismo es una pauta muy vaga. Significa preguntarse constantemente: ¿no lo hice antes y, de ser así, puedo generalizar lo que hice antes?

Una violación de DRY sería escribir un oyente de eventos de teclado en varias clases. Todos hacen lo mismo:

$ (div). onKeyUp (función (evento) {
if (event.Key == ‘f6’) // o f8 la lógica es la misma
hacer();
});

Verifican si se presionó la tecla y ejecutan una acción personalizada. Un enfoque mucho más reutilizable sería crear una clase. Eso es capaz de determinar los estados clave y generar eventos apropiados. P.ej

var keyBoard = new KeyBoardManager ();
$ (‘div’). onKeyPressed (keyBoard.keyInput);

var coolClass = new CoolClassController ();

keyBoard.onKeysPressed (‘ctrl + f6’, coolClass.save);

O

Si obj.state == “aburrido” || obj.state == “estresado”

El objeto sería mucho más fácil de usar si expone una función booleana simple. P.ej

if obj.isUnmotivated () // debería estar cubierto fácilmente por pruebas unitarias