Me cuesta mucho con estas cosas, porque en cierto sentido siento que es un problema de habilidad, pero por otro lado, muy poco del código que escribo es > 2000 o más LOC con las abstracciones correctas (aunque con los incorrectos a menudo es > 10k LOC más o menos)