Recentemente, tenho me preocupado mais com a maneira como escrevo meu código. Depois de ler alguns livros sobre padrões de design (e a implementação excessivamente zelosa deles, tenho certeza), mudei muito meu pensamento para encapsular aquilo que muda. Costumo notar que escrevo menos interfaces e mais código orientado a métodos, onde adoro transformar a vida em classes antigas com predicados, ações e outras tarefas delegadas. Costumo pensar que muitas vezes são as ações que mudam, então as encapsulo. Mesmo que muitas vezes, embora nem sempre, quebre as interfaces para um único método, prefiro usar um delegado para a tarefa em vez de forçar o código do cliente a criar uma nova classe.
Então eu acho que isso me atingiu. Eu deveria estar fazendo programação funcional?
Edit: Eu posso ter um equívoco sobre programação funcional.
Atualmente, minha linguagem de escolha é C #, e eu venho de um background em C ++. Eu trabalho como desenvolvedor de jogos, mas atualmente estou desempregado.
Eu tenho uma grande paixão pela arquitetura. Minhas virtudes são códigos limpos, flexíveis, reutilizáveis e de manutenção. Não sei se fui envenenado por esses caminhos ou se é para melhor. Estou com febre de refatoração ou devo seguir em frente? Entendo que isso possa ser uma pergunta sobre "use a ferramenta certa para o trabalho" , mas gostaria de ouvir seus pensamentos.
Devo escolher uma linguagem funcional? Um dos meus fatores de medo é deixar o conforto do Visual Studio.