Recientemente me ha preocupado más la forma en que escribo mi código. Después de leer algunos libros sobre patrones de diseño (y su implementación demasiado entusiasta, estoy seguro), he cambiado mucho mi pensamiento para encapsular lo que cambia. Tiendo a notar que escribo menos interfaces y más código orientado a métodos, donde me encanta arreglar la vida en clases antiguas con predicados, acciones y otras tareas delegadas. Tiendo a pensar que a menudo son las acciones las que cambian, así que las encapsulo. Incluso a menudo, aunque no siempre, descompongo las interfaces en un solo método, y luego prefiero usar un delegado para la tarea en lugar de forzar el código del cliente para crear una nueva clase.
Entonces supongo que me golpeó. ¿Debería estar haciendo programación funcional en su lugar?
Editar: puedo tener una idea errónea sobre la programación funcional.
Actualmente mi lenguaje de elección es C #, y vengo de un fondo C ++. Trabajo como desarrollador de juegos pero actualmente estoy desempleado.
Tengo una gran pasión por la arquitectura. Mis virtudes son código limpio, flexible, reutilizable y mantenible. No sé si he sido envenenado por estas formas o si es para mejor. ¿Tengo fiebre refactorizante o debo seguir adelante? Entiendo que esta podría ser una pregunta sobre "usar la herramienta adecuada para el trabajo" , pero me gustaría escuchar sus pensamientos.
¿Debo elegir un lenguaje funcional? Uno de mis factores de miedo es dejar la comodidad de Visual Studio.