@Riddle bardzo często przedstawiał piękne teorie jak może wyglądać inżynieria oprogramowania, jednak jego działania na forum pokazują, że jego podejście może zawierać usterki jak np. wprowadzanie bugów itd. Jakie znacie przykłady teorii, które w praktyce okazują się nie właściwe lub nie tak dobre jak to opisuje teoria?
Tak po prawdzie, to to, co nazywasz teoriami, to nie są żadne teorie, tylko bardziej wierzenia czy inne zabobony, a więc pytanie jest błędnie skonstruowane.
Jeśli chcielibyśmy odpowiedzieć na pytanie, "które zabobony nie działają w praktyce", to odpowiedź brzmi "żadne", i można zamknąć wątek. ;)
Samo OOP, jako koncepcja opiera się na fałszywym przekonaniu, że świat (a ściślej modelowana rzeczywistość) jest zorganizowana hierarchicznie. No i mamy jakieś przykłady, które niby mają to pokazywać, że istota żywa<-ssak <-małpa<-szympans. I wszystko gra, do momentu, kiedy ktoś nie ma potrzeby zderzenia tego z rzeczywistością i np. nie potrzebuje klasy obrazującej wszystkie istoty w zależności od temperatury środowiska w którym zyją.
No nie, w OOP chodzi o łączenie ze sobą stanu i zachowania. To o czym piszesz, to dziedziczenie - i to jest tylko jedna, nieobowiązkowa technika z OOP.
Z drugiej strony, jest tak, że jakaś koncepcja powstaje, robi się modna, a na koniec każdy musi ją stosować, bo to "best industry practices". No i mamy jakieś tam mikroserwisy, które nie są mikroserwisami, TDD, które sprowadza się do "mamy testy, ale one niczego nie testują" itd.
No i to jest clue sprawy.
Ktoś miał problem - rozwiązał go - opowiedział innym (np. na konferencji).
No i potem ci inni stwierdzają, że zrobią tak samo, no bo skoro komuś to pomogło, to im też pomoże. Problem w tym, że zazwyczaj umyka im ten szczegół, że nie mają takiego samego wejściowego problemu, tylko zupełnie inny.