.... Nic tak nie napawa mnie zwątpieniem*, jak wejście do dużego projektu, w którym każda drobna zmiana to pieprzenie się z buildem, uruchamianiem, rekonfiguracją, restartowaniem dockera, kasowaniem baz danych, kasowaniem konfigów, reinstalacją paczek itp.
*zwątpieniem, tzn. zaczynam wtedy wątpić w zdrowy rozsądek programistów, którzy taki projekt rozwijają razem ze mną od długiego czasu, a którzy stosują tak bardzo partyzanckie metody pracy. I o dziwo - im to nie przeszkadza. Dla nich to normalne, że trzeba coś zrestartować, poczekać, bawić się w dev opsy przy każdej okazji, pochodzić po konsoli itp. A mnie to strasznie rozprasza bo zamiast myśleć o rozwiązaniu problemu programistycznego, zaczynam tylko co chwila uruchamiać i czekać na builda (ile czasu się traci!)
Tylko, że to nie ma nic wspólnego z Javą, ja się z tym zetknąłem w JS i w Rubym.
True. To nie ma nic wspólnego z Javą. Ma to dużo wspólnego z przerośniętymi platformami.
Jak już się postawi serwer, powalczy z jego konfiguracją w XMLach i konsoli, zestawi połączenie z bazą danych, skonfiguruje security....
Jak już się beany zaczną wstrzykiwać, transakcje commitować, a stronka startowa rpzestanie opluwać błędem 401 ...
to mamy już 4 tydzień projektu, spore opóźnienie, za dwa dni kolejne demo, a do tego 50 cudem działających klas.
I w tym momencie ktoś zaczyna się zastanawiać, a jak by tu robić testy...
Ale ponieważ serwer działa tylko dzięki cudowi to nie da się tego testować, bo cuda z natury nie są powtarzalne, a testy niestety muszą być powtarzalne .
Gorzej, czasem nie da się nawet zbudować drugiego serwera i cały zespół deplojuje na jakiś biedny serwer integracyjny.
Nawet nie wiem ile razy to widziałem. Da się naprawić, ale boli.
To dotyczy nie tylko JavaEE i serwerów typu Websphere, ale również wypasionych projektów na OSGi, Springu, a nawet platform CMS typu Adobe albo Coremedia.
Zawsze to samo.
Jak wybieram technologię to testowalność (albo lepiej weryfikowalność) wszystkiego co robimy w zespole (łącznie z konfiguracjami) to w zasadzie rzecz numer 1.
Niestety, wielu architektów - managerów nadal nabiera się na sztuczki typu - klikamy w Netbeans New projekt, trzy razy klikamy i proszę jakie piękne Hello World - prawie bez kodowania.
A do tego w super hiper technologii, stabilnej i wybieranej przez "fszystkie" firmy z top 500.
W jednym banku, gdzie "konsultowałem" - deployment na produkcje (WAS) szedł z Eclipsa - tylko tak umieli wrzucić - zbudowanie EARa czymkolwiek innym niż Eclipsem (RAD) było mission impossible.