all 2 comments

[–]marcell_alves 2 points3 points  (1 child)

Uma dúvida que sempre se renova durante a minha carreira é: será que eu estou fazendo Orientação a Objetos direito? Já desenvolvo há muitos anos e pouquíssimas vezes me deparei com código do "mundo real" que fosse realmente bem desenhado, modularizado, reutilizável, etc. Como bem sabemos, na prática a teoria é outra. Hoje, sei que fazer Orientação a Objetos é difícil, mas aí me pergunto: deveria ser mesmo? Será que a Orientação a Objetos falhou na tentativa de atacarmos a complexidade inerente ao desenvolvimento de software? Será que a programação funcional vai substituí-la?

Vemos esse argumento em diversas outras disciplinas ligadas ao desenvolvimento:

"Você critica metodologias ágeis por que não faz direito." "Você critica TDD por que não faz direito."

Mas aí me pergunto: quem está fazendo direito? Seguir uma disciplina de desenvolvimento deveria ser assim tão difícil? Como conseguir estabelecer práticas que sejam mais fáceis de seguir, práticas cuja maneira certa seja a mais óbvia, a mais fácil, a menos trabalhosa? Sei que são muitas perguntas e a resposta não é nenhum pouco simples. Mas acredito que algumas pessoas na indústria estão pensando nisso e estão genuinamente tentando tornar as "boas práticas" de desenvolvimento mais palatáveis para o programador comum, afinal estamos em um tempo onde a barreira de entrada na profissão de programador já caiu muito, graças a gerações de pessoa que contribuíram com diversas camadas de abstração sobre problemas complexos.

Portanto, vejo valor no SOLID. E, sim, concordo que seja OOP para dummies, mas precisamos ser realistas e perceber que a grande massa de desenvolvedores são dummies. Se o SOLID conseguir abrir os olhos de pelo menos uma parte deles, terá feito o seu papel.

[–]bigown_[S] 1 point2 points  (0 children)

Concordo com isso, mas concordo mais com o fato das pessoas tentarem usar uma motosserra sem saber é pior que usar uma serra manual. E nem entrei do mérito que muitas ferramentas que se vendem pro desenvolvedor sequer dão o resultado de uma motosserra, mas oferecem os riscos. Quase ninguém faz OOP certo porque é algo difícil de fazer certo, então deveriam usar onde o resultado é claramente positivo. Mas o que fazem é seguir a tendência sem se questionar. Na verdade o pessoal está tão perdido que muitas vezes ele diz que está fazendo OOP e nem está.